Well innerHTML is likely your best bet then, though even with the script on that link I posted its going to be flakey in some browsers.
As for reading in the files, how big are they? Could you instead just put the code at the top of the page in a javascript variable and write each one as you need it?
Another thought is what happens if you write PHP into innerHTML?
So say you have:
<div id="mainblock">
<?php gethtml('intro.html'); ?>
</div>
And then when you change the innerHTML of the div 'mainblock' you write in <?php gethtml('part2.html'); ?>, obviously intro.html and part2.html being the files you have on your server. gethtml would just be a function that fopen() and reads in a file. I have no idea if this would work, just tossing out ideas
Cul