The advantage of using css for layout is that you can completely change the page without changing the html at all. go to:
http://www.csszengarden.com/?cssfile=/100/100.css&page=0
then click on "wiggles the wonder worm" on the right hand side.
The html is the same, only the stylesheet has changed, imagine trying to convert anything more than 20 pages if you had used a table layout.....
With css just change the stylesheet. I also find that layouts are quicker, simpler and less restrctive using css.
With the font thing, there is nothing in css 2 to do this, however:
In bicameral scripts, the subjective apparent size and legibility of a font are less dependent on their 'font-size' value than on the value of their 'x-height', or, more usefully, on the ratio of these two values, called the aspect value (x-height divided by font-size). The higher the aspect value, the more likely it is that a font at smaller sizes will be legible. Inversely, faces with a lower aspect value will become illegible more rapidly below a given threshold size than faces with a higher aspect value. Straightforward font substitution that relies on font size alone may lead to illegible characters.
For example, the popular font Verdana has an aspect value of 0.58; when Verdana's font size 100 units, its x-height is 58 units. For comparison, Times New Roman has an aspect value of 0.46. Verdana will therefore tend to remain legible at smaller sizes than Times New Roman. Conversely, Verdana will often look 'too big' if substituted for Times New Roman at a chosen size.
This property allows authors to specify an aspect value for an element that will preserve the x-height of the first choice font, whether it is substituted or not. Values have the following meanings:
none
Do not preserve the font's x-height.
<number>
Specifies the aspect value. The number typically refers to the aspect value of the first choice font. The scaling factor for all fonts is computed according to the following formula:
y(a/a') = c
where:
y = 'font-size' actual value
a = aspect value as specified by the font-size-adjust property value
a' = aspect value of actual font
c = 'font-size' to apply to font
Example(s):
For example, if 14px Verdana (with an aspect value of 0.58) was unavailable and an available font had an aspect value of 0.46, the font-size of the substitute would be 14 * (0.58/0.46) = 17.65px. If Verdana is available, no adjustment occurs, as long as its actual aspect value is the same as the hypothetical aspect value provided by the font-size-adjust property.
Font size adjustments take place when computing the actual value of 'font-size'. Since inheritance is based on the computed value, child elements will inherit unadjusted values. Font size adjustments are applied to all fonts used by child elements, substituted or not.
Which is exactly what you are looking for. Unless someone can find a hack in css2, you are looking at just finding fonts that are closer in size. Or embedding a font.
CSS website design tutorials