Let me just say, thanks for putting this out there.
I don't think the Spine editor currently handles this very well and it's valuable input for Nate and Shiu to know about these cases. I'll be needing similar functionality soon and it's cool that you've posted some concrete, farther-along-the-way stuff before me. XD
2) There were two separate but slightly interrelated collections. The Bone collection is currently a tree (the head of the tree is the root bone). The Slots list is a linear list. Each slot relies on a bone for when it's rendered. But the bones don't have any knowledge of what slots are under it. The bone collection has also become a bit more complicated since I last checked it. It seems that Skeleton now holds a few more representations of the Bones collection as a List and as a separate "cache". This seems to be optimizations for IK.
Anyway, removing bones means you have to remove them in 3 different places or something? It also involves making sure you clean up the slots under those bones (which is some extra work because, again, Bones themselves don't know what slots they have. you have to ask the Skeleton for that. It's not that hard though.) Otherwise, you'd have slots that get rendered weirdly because they're still referencing Bones that aren't being actively updated and on the Skeleton anymore. This is the funny situation where removing the bones from those collections won't clean them up because the Slots still have references to them.
The bad thing is that if you rely on slot attachment animations or animated DrawOrder, tampering with the Slot list will break those things because they rely on their position in the list/array to work properly.
3) This is pretty close to the use case I'm looking for and I think Nate's answer is SkeletonAttachment
s, which isn't here yet, and should take a bit longer because he's still working on Spine 3.0 (the new scale inheritance and flip systems). From what I know right now, there is no faster/cleaner way.
Sorry, I don't actually have concrete help.
ohh! But on the earlier concern. Since you're using Spine-Unity, a separate head skeleton would not need to be complete behind or in front of the body skeleton. It would be doable right now (albeit a bit of extra effort to coordinate animations), and it would be portable when Spine eventually has official support for SkeletonAttachments.
Right now, Spine-Unity effectively has (not previewable and animatable in Spine editor) SkeletonAttachments and you can insert things, any Unity GameObject (including another Spine SkeletonAnimation GameObject) into the rendering. Look up SubmeshRenderer and Submesh Separators. That's what you want if you want to go that route.