Can't you make it so that the header is part of your table 2 and that each time a column is added to this table, the header is modified too? You wouldn't need table 1 anymore and the header td's and other td's (all inside table 2) would line up between each other. I'm thinking of a situation like this one:
Code:
<table>
<tr>
<td style="position: fixed; ">fixed</td>
<td style="position: relative;padding-top: 30px; padding-right: 20px">not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br></td>
<td style="position: fixed; ">fixed</td>
<td style="position: relative;padding-top: 30px; padding-right: 20px">not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br></td>
<td style="position: fixed; ">fixed</td>
<td style="position: relative;padding-top: 30px; padding-right: 20px">not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br></td>
<td style="position: fixed; ">fixed</td>
<td style="position: relative;padding-top: 30px; padding-right: 20px">not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br></td>
<td style="position: fixed; ">fixed</td>
<td style="position: relative;padding-top: 30px; padding-right: 20px">not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br>not fixed<br></td>
</tr>
</table>
Bookmarks