I don't think you will find anything that will work out-of-the-box, but here are a couple of leads:
- DBD::AnyData will let you treat each XML file as a table. You will have to specify how to map the XML to a table structure and it works one document at a time, but it is a start.
- as far as XML DBs you can have a look at DB XML, which is based on BerkeleyDB (and developed by Sleepycat). It stores XML documents and indexes pre-computed XPath queries. It might be what you are looking for in terms of the underlying repository. Look at John Merrells' Blog for up-to-date information on it. It ships with a Perl interface, written by Paul Marquess.