So if you go to
www.yourdomian.com/my-page.aspx?output=xmlYou need to get some xml about that specific page? Or do you want the entire xml tree when visiting
www.yourdomian.com/?output=xmlEither way, this should be possible to do with xslt. Actually, that is what xslt is for, so I would definaetely start with that approach.
Umbraco has a neat feature called "Alternative templates". This means that you can use a querystring parameter to choose another template to use for rendering the page:
www.yourdomian.com/my-page.aspx (Renders the normal page)
www.yourdomian.com/my-page.aspx?altTemplate=xml (Renders the page with the template where alias = xml)
On your XML template you can then place an xslt macro that transforms the nodes XML into the xml that you need. Maybe you also need to add a .net macro that changes the MIME type for the response, if your windows app needs the correct header.
Could you give an example of the xml that you would like to output for a node?