sorry to necro such an old topic, but it is a really great one and I had what I think is a newish idea.. even with the high density 1x3 blocks seen above, you only get one door (or one bedroom) ever-other tile of hallway space. You could pretty easily make it EVERY tile, using a 1x3 bedroom if instead of doors you used up-ramps and down-ramps and hatch covers. I prefer ramps to stairs, as they take one less movement to traverse.
Or, you could provide lavish 3x3 bedrooms and have an enterence on 3/4 of all your hallway squares:
... ... ...
...^...v... ...v ^...
........... ... ... ... ...
...v...^... v... ...^
... ... ... ... ...
...^...v... ...v ^...
........... ... ... ... ...
...v...^... v... ...^
^.v v ... ... ^
... ... ...
... ... ...
... ... ...
you can probably push fractal designs to further efficiencies, and can certainly get more useable space out of 3 z-levels than I am doing here, but I think this paths the shortest. If you use all of the space on each level more efficiently, then you have to traverse more hallway space to get to any given room.
edit: oops, i missed by a hair. the ramps need to be in the hallway so they have a wall behind them, but it does not cut down on the walkable space or change the distance to any of the rooms.