We've added a "ToDynamicView" method which returns a List of dynamics at any point in the XML tree representing the descendant nodes from that point. We added this so that we could quickly get a testable object from half way down our tree that we can easily map to our domain objects. It maintains the XML tree in the object model so it is easier to work with properties of a particular node.
I don't quite understand the use case you're looking to solve here. Can you show me some code that demonstrates what you're trying to do and how SimpleXml doesn't accommodate it? If I can, I'd love to help.