I want to use SPSiteDataQuery to query from one SP farm to another. Both farms exist on the same active directory. What would be the most suitable approach? A custom web service might do it? An ideas will be appreciated

If you want to query across farms, the best way I think is Search. If you efficiently use keyword and full text queries, you can fine tune your search results similar to SPSiteDataQuery (or even better) across many farms without compromising on performance

Taking the step forward, If you have the powerful FAST search you can find almost anything!