Note: This feature is designed to only be used inside of buildings.
I suggest that in the land editor you can enter two vectors, to define the two corners, and have a check box to enable a "void area".
After validating that, the Z-axis is within 30m of the ground and the box is completely over that parcel, the Sim would add this void area to the list of void bounding boxes for that sim.
The Sim would then send the list of bounding boxes to the client where it would store it.
The client would need one list for each Sim it can see.
Note: I’m assuming the client does the Z-order list and not the Sim.
The routine that creates the “Viewable objects list” would first check the list of void boxes to see if the Avatars center position is inside of one. If it is inside of a void box the code would remove all the objects that are outside of void box. If the avatar is outside of all of the void boxes, the code would remove all of the objects whose center lies inside any of the void boxes.
This prevents mouse look since you have to be inside the void area to see anything inside of the area.
As an additional feature the Sim could use the void box list to limit all Say and whisper chat messages. Note: llShout(n!=0,”text”) would still have to penetrate the void box in order for security scripts to function.
It would do this by first checking the list of void boxes to see if the sender is inside of any of them. Then, just like the object list, if it is inside of a void area it would only message Avatars/objects that inside that void box. If it was outside of all the void areas it would only message Avatars/objects that are outside of all the void areas.
This could actually be implemented right in the "scanner" code since I assuming both "say" and "sensor" use a "scan" to get a list of objects.
Notes:
1 . The physics engine would completely ignore the void box list. So shooting into the box could still hit someone.
2. The Z limit would be based on the higest land point.
3. Void boxes cannot intersect or be anything other than a rectangle.
4. The editor should re-order the entered coordinates so that they are well ordered.
The good news
.1. More privacy since mouse look could not see anything unless you are physically inside of the void area. And we can alreddy teleport them home if they jump inside.
We just need llReturnObject(key) to deal with spy scripts

.2. It’s a good migration path for basements since the client would not have to draw anything including the horizon or the ground when an avatar is inside the void box.
.3. The Sim and/or Client could skip Day/Night lighting effects for objects inside of void boxes since it is assumed that they are inside of a building.
The bad news
.1. The pipeline delay would cause about a second delay of nothing when you enter or leave a void area.
.2. You have to build the building with double walls. One wall for the outside view and one wall for the inside view. Unless you are trying to make it look bigger on the inside than the outside. Tardis

.3. You can’t use the prim reduction hollow cube technique for the outside walls since the center would then lie inside of the void area.
.4. You have to place a “non-transparent” “phantom” prim at the door or you will see right threw your building. A projected prim, similar to Sim crossing Prims, would also work and would create a hallway affect.
.4. Some lasy people might not place the prims on the outside and people could then fly into the void area by accident.
PS:
Adding a LSL command to edit these land propertys would allow for pre-built houses to have a secret room. The rez script would set the void area after it rezes that part of the building.