Interesting, I'll have to keep this in mind and experiment with it. As always it's a fine line between balancing client side and server side processing.
This wasn't too difficult to set up as a linked DVWP. My issue now for a different use case in the same project is to make a JSON object like this out of 1 master list and 2 child lists. A lof of XSLT to sort through but it looks promising.