I would really like to see the ability to do heirarchical linking.
The desired behavior is to be able to link two or more prims into an object, and then be able to link those objects into a larger object in such a way as it will be possible to do "Unlink" one time, and have the previous linked objects still exist. This should be recursive, so that you can keep adding assemblies. Think of this as the way the 'Group' and 'Ungroup' feature works in most graphics applications, with multiple layers of undo available.
The curent behavior is that if you have six prims linked together to form one object, and 4 prims linked together to form a second object, if you select those and link them, you get one object that has 10 linked prims, and the root prim of the last of the original sets clicked on becomes the root prim for the entire batch! If you un-link that new object, it becomes ten seperate parts, and the previous relationship between the parts of the two sets no longer exists. This is particularly bad for builders of complex items, such as large structures.
For example: I'm making a large building. I have a standardized component that is a wall with an alpha mapped window and an internal tortured prim that forms a windowsill, so the wall has visible thickness when you look through the window. I align the parts and link these together so the two parts stay together as I move them around. The windowsill is completely inside the wall prim, and it's a royal pain to select just the windowsill, without first moving the wall out of the way, and thus altering their alignment. If I get one floor of the structure done, and link the parts on that floor together, the windowsills are just another part in that floor, and no longer have an association with their related walls. Not good.
Another example: I'm setting up a vending display. I have four copies of a simple three-prim vendor, and a background prim that I want to mount them on. Sure would be nice to be able to link the vendors to the background, without unlinking their component parts from each other...
So far, my work-around is to keep the assemblies as seperate linked sets as long as possible, and click each assembly to select them all, then take it into inventory as a single thing. When I put it back out, the assembleis are all in the same relation to each other. But to move them as a unit, I have to select each asembly again, before I move the structure.