This is why RSS shouldn't be XML: with RDF and topic maps merging RSS feeds is just a single method call. You don't have to do *anything*. The models themselves provide the functionality for it.
Come on, XSLT is not a "special-purpose scripting language", it's turing complete functional language, look at FXSL library as a prominent example.
And XSLT is designed to allow compiation, that's why xsl:include cannot be dynamic and there is no dynamic XPath evaluatuion even in XSLT2. Moreover, *all* XSLT processors I'm aware do compile XSLT stylesheets and do optimize from //* stuff to tail recursion, that's all pretty possible even in XSLT1.0.
XQuery and XSLT2 really look extremelly similar, except for syntax, but does syntax matter?