Hmm ... interesting idea ...
I might give it a try at writing the applications needed to control it all.
I have no idea how you have designed the prison building itself, but I'm assuming that you have wings/halls of cells, maybe cell blocks, maybe several floors? The layout of the prison would probably dictate how some of the programs need to be written.
I'd probably do this with 4 different applications:
1) door client - only accepts commands from the prison server and defaults all doors connected to it, to closed.
2) guard client - only connects to the prison server and gets a list of doors from the server.
3) warden's computer - only connects to the prison server and allows full control of all doors aswell as all guard clients.
4) prison server - does all of the controlling in the prison.
If the overall surface dimensions of the prison is too big, you may need more than one server computer to control all of it given distance problems, however if the size is within range of the server computer (place it as high up as possible in the prison building) you should only need one server.
EDIT: Could you possibly post a screenshot of one of your cell blocks? maybe one that shows how you have setup the computers by the cell doors? Just to give us an idea of how the prison is layed out

/>
EDIT 2: Ok, I have set up two models for controlling the doors: one model where I have a computer hidden away in the floor/wall between two cell doors, leaving it to control only two doors, but allows for a single block seperation between prison floors/levels. As long as cells are placed on top of each other, nobody would be able to access the computer.
The second model requires more space between floors/levels, but allows a single computer to control 4 doors in it's current setup. A hollow space of 2 blocks is require between floors/levels for this setup to work. Space is needed for redstone wires and the wireless modem :/
Personally I think I'll go with the first door setup: it does require more computers, but it allows for a nicer design of the building itself. Destroy the floor block between two cells to access the computer.
I'll look into building up some code to control all of this ...
Edited by Sharidan, 22 July 2013 - 08:03 PM.