Regarding your second request, what you are looking for is the 'Containers' feature, very commonly requested (It was in CC)
A way to work around this is to give all the 'child' objects an instance variable called 'ParentUID' or something, which is set to the parent's UID at the start of layout. Then, when you want to pick the child of certain parent, you can pick the parent with that UID.
In terms of attaching them together, image points are probably the best option ATM.