Just a couple of recommendations:
a) Pixel values are absolute, so I would recommend to not use decimal values. For your example, it'd be better to use a value of 2px; or better yet, for the type of usage, I'd recommend using "em" units instead (i.e. height: 0.5em).
b) Semantically, using "p" tags wouldn't be correct in this case, that's why my recommendation on using "divs" instead. Also, one of the reasons of using this kind of approach, the use of extra elements would be unnecessary. So, if a user wants to add two "extra" lines, instead of writing two "div" or "p" tags with a height of 0.5em each, they can just double that value: 1em, and the results would be as expected. Additionally, "p" tags have a default margin that may double the intended height. So, in pixesl, instead of having a 1.4px height, in reality you'd have a height of 21.4 pixels (approximately 10px for each margin, top and bottom).
At home, I'm a mac user too. But as a web developer, I'm used to trying me websites look the same in as many browsers as possible, so we need to add one more attribute to this solution to make it look good in IE6.
You see, even if you set a height to an element, IE6 will keep a space/padding inside, as if something invisible is preventing it from making the height smaller than 15 or so pixels. Imagine having as many elements for as many blank lines, in Safari, Firefox, Camino, etc. the page would look as intended, but in IE6, the page would look really weird. So, to make it "behave" the same way Firefox or Safari would, I'd recommend using this revised code:
<div style="height:0.5em; overflow:hidden;"></div>
This should work well in all major browsers.
Hope this helps.