Existe uma linguagem que eu possa usar para consultar um documento XML e ter o resultado retornado. Da mesma forma que eu posso usar o SQL para consultar um dtabase e obter um conjunto de resultados?
Sim, e é chamado XPath :
XPath is a language for addressing parts of an XML document, designed to be used by both XSLT and XPointer.
Tags xml