Risposta ad ambedue:
In teoria si`, in pratica occorre vedere il browser.

Per il punto 1, esistono ( http://www.w3schools.com/css/css_ref_print.asp )
page-break-before
page-break-after
page-break-inside

Per il punto 2, e` prima necessario che il markup sia corretto: devi aver usato il <thead> per definire l'intestazione (vedi descrizione in http://www.w3schools.com/tags/tag_thead.asp ).
Poi ogni browser interpreta a modo suo.