Given a page ID, how to display entire page (header/content/footer/sidebars) from a plugin hook

I would like to know if it is possible to display the entire page given a page ID

Yes, http://site.com/?p=ID or http://site.com/index.php?p=ID. Request that address via AJAX or the HTTP API.

WordPress pages render on page load. There is nothing that I know of that “pre-renders” a page that would let you grab the whole generated source without a request to the server for it.