Ecco l'esempio pratico
con html del tipo:
<table border="1">
<tr>
<th id="th1" style="width: 1px;">Title col 1
</th>
<th id="th2" style="width: 1px;">Title col 2
</th>
<th id="th3" style="width: 1px;">Title col 3
</th>
<th id="th4" style="width: 1px;">Title col 4
</th>
<th id="th5" style="width: 1px;">Title col 5
</th>
<th id="th6" style="width: 1px;">Title col 6
</th>
</tr>
</table>
se window.frames[0] è il riferimento al tuo frame con la tabella in alto e lo script seguente lo metti dove c'è la tabella dinamica
per IE
window.frames[0].document.all.th1.style.width = (document.all.td1.offsetWidth);
window.frames[0].document.all.th2.style.width = (document.all.td2.offsetWidth);
.......... ecc
per NN
window.frames[0].document.getElementById("th1").style.width = (document.getElementById("td1").style.pixelWidth);
window.frames[0].document.getElementById("th2").style.width = (document.getElementById("td2").style.pixelWidth);
.......... ecc
basta mappare con gli id solo la prima riga della tua tabella dinamica