From a post on the groff list by Gunnar Ritter
You can set table column widths as a percentage of the total line width:
.TS lw(\n(.lu/10u) lw(\n(.lu*9u/10u).
This is possible because the content of w() is interpreted by troff, not by tbl. Unfortunately it only works with GNU tbl and Heirloom tbl because traditional tbl variants have a limit of 10 characters inside w(). A workaround to make this fully portable is:
.nr %1 \n(.lu/10u .nr %9 \n(.lu*9u/10u .TS lw(\n(%1u) lw(\n(%9u).