I went to a talk on a paper called "Querying and Maintaining a Compact XML Storage" by Raymond Wong, Franky Lam, and William Shui. Here's the abstract and here's the paper (PDF). The authors created a clever encoding of XML that not only takes much less storage, but is also much faster. For example, here's some data he shows for a 100Mb XML document (compared to MS Vista's native XML libraries):
The results are sufficient that you could imagine doing this on a mobile phone, for example.