In general, this problem is called "multiplexing".
The way I'd do it is either to drive some shift registers, or to have slave arduinos manage blocks of doors and to communicate with them from a master - I2C, or even ethernet.
I wonder if the neopixel chip might be a live option? Each chip has an R, G, and B output (0-255), and you can chain any number of them.
I recall seeing dedicated "demultiplexing" chips. 16 Channel Multiplexer - COM-00299 - SparkFun Electronics But the poit of those is that they will acommodate way more than single bits of information, which is all you need.
A problem might be the distance between the controller and the doors. I2C probably won't work well (or at all) over those kinds of distances. This is one benefit of ethernet - it will manage cable runs of several meters, and you can easily daisy-chain ethernet switches. No need for a router and all the config that that involves.
Another interesting option might be MIDI. There's a lot of off-the-shelf gear that you can just plug together.
Either you will have to do some electronics, or you'll be getting one arduino per 10 or so doors and have one pin per door.
So, I suggest 2 options.
1 - several arduinos with ethernet shields, each managing a block of doors, networked together. This option allows you to blug the doors into the rest of your network and - for instance - write webapps for the person at the front desk.
2 - 1 shift register per block of doors, daisy chained. each register will require power, ground, data and clock. You will also probably need to switch 12v to drive the locks.
I built a set of these for running some steppers and 12v downlights. Each board has a dhift register and a solenoid driver, and the input pins are configured to permit them to be daisy-chained.