If you create a table and treat it as 100% width relative to the page, then the printer should automatically print to the full page width. Whether you get landscape or portrait depends on which one you choose in the print settings when you actually print it. The only way you'll be able to accomplish this cleanly is to make two seperate html documents -- one that contains the portrait portions and the other that contains the landscape portions. Then print each document separately.
There are only two other theoretical ways of accomplishing the task:
1) Some kind of browser plugin that would send separate print jobs for you, figuring out which portions of the document should be printed in which fashion.
2) Using CSS3 Transforms. Generate a static image of the table to print and then transform (rotate) it 90 degrees on the page so it looks sideways on the screen. If you rotated some parts of the document, then theoretically you could accomplish the whole thing in one job. But don't even waste your time. This would be an utter nightmare. Especially if you had to ask how to do it.