For preselection and left to right cross selection, ignore hidden geometry, ignore reference planes extending past visible geometry to the extents of hidden geometry, (maybe) ignore subfamilies. The user just wants to interact with what they see! For example, I have a clear floor space family that has side reach range parameters that can be toggled on. Even if those reach ranges are off, the extents of the family still recognize where the hidden reach ranges are when trying to select. You get nuisance pre-selection when trying to pick other objects, and you can't left to right cross select tightly around the visible portion of the object.