1script - 7:39 pm on Jun 14, 2010 (gmt 0)
I don't think that's possible (unless both sites have synchronized databases): the first 301 is issued on a site that has no way of knowing the correct destination URL. If I return 200 and the correct content on that first 301 without issuing another 301, I would create a URL with content that's duplicate of the final destination.
Site 1 redirects to Site 2 but does not "know" Site 2's URL structure so redirects to a "dispatcher" script at Site 2 (first 301->301)
That would be an implementation error. You should rewrite the request to the script and the script then issue a single 301 redirect to the correct URL.
tedster is correct in that in many cases there may even be a third 301 shoved in there because of canonical non-www -> www rewrites on Site 1 although in this case I think this one would be possible to eliminate via a proper condition in .htaccess
Short of syncing the databases of both sites (which may or may not be possible for various reasons) I'm not sure how can the second 301 be eliminated. Considering the alternative - a duplicate content - I think it's a smaller problem.