If you do a rewrite from page.html to an external site (http://..) is this an implicit redirect even if you don't specify the [r] flag? If so, would googlebot "see" this kind of rewrite or is it just as transparent as an internal rewrite from say pagea.html to /pageb.html?
Also what is definition of external rewrite? If I append the http_host to the current file name and rewrite to that, is that external or internal?
The short answer is that an internal redirect is a simple substitution of one file for another one. This can be done "invisibly" because the required resource is available locally - on the same server.
An external redirect - as in requesting a resource from another server - is, by definition and practical requirements, visible to the requesting user-agent. This is because the resource is not available locally, and the server must give the new URL to the user-agent, and tell it to go there to get the requested resource.
Not that I know of. About the only thing I know of that you can do to make another domain look like part of yours is to use an iFrame to display external content as part of your page. Or just copy the content (w/permission, unless you like hangin' out in a courthouse a lot). But that won't fool a search engine.