Sean Gerety points to an MSDN article on how to query over object models using ObjectXPathNavigator. very interesting.
I'll just point out to this fine article by Dino Esposito, regarding implementation of the exact same thing, only from a different angle :
"Implementing XmlReader Classes for Non-XML Data Structures and Formats"