Unfortunatly, that code takes away the purpose of assigning columns a width... so that the cells in the columns below have the same width.  I know following your code I could just add
colspan=# width=#%
to each cell, but that would be cumbersome.

Basically, I'd like it to be like this:
 a b c
 d e f g h i k l m

And as you can see in the code:
{| border =1; width="100%"
|-
| width="10%" | a
| width="30%" | b
| width="60%" | c
|-
|}
{| border =1; width="100%"
| width="30%" | d
| width="20%" | e
| width="50%" | f
|-
| g
| h
| i
|-
| k
| l
| m
|-
|}
g, h, i, k, l, m, don't need to be assigned any width or anything.... they just take on the width of the leading row: d, e, f.

Now, using your code, I would get:
 a b c d e f g h i k l m
Of course, I could add the "colpan=# width=#%" to each cell to get:
 a b c d e f g h i k l m
(Which is the appearance I want) But, I don't want to have to add the "colpan=# width=#%" to each cell once I already have a leading row that has that.  Sorry, if I appear to be extremely picky.