I think it would be really useful if SL created a MakeAlphaAreasPhantom() function whereby any 100% Alpha areas of a texture make that part of an object phantom but not the rest, this way for plants for example, one could walk under a tree's canopy or around the trunk instead of bumping into the rest of an invisible prim.
Equally, it might be a thought to make prims multi state in certain instances, for example a 100% Alpha texture on side would mean one could walk through the object, but on the other side is a brick wall texture - which obviously would mean one couldn't get back out =D
etc.