I always use pixels. You should not mix pixels and ems, and percentages are okay when within a container div that is holding two inner divs that you want to be placed side by side.
Example:
Code:
HTML:
<div class="container">
<div class="left-panel">
-- some content --
</div>
<div class="right-panel">
-- some content --
</div>
</div>
CSS:
.containter { width: 650px;}
.left-panel { width: 65%; float: left;}
.right-panel { width: 32%; float: right; }
The panels are floated left, floated right. I allowed a 3% difference ( 65% + 32 % = 97% of the total 650px) for separation. Never go the full 100%, come up short to 99% and you will be safe in all browsers. If you have borders, then you want to go down to 97% just to be safe.
While this will work perfectly, it is probably better to do the math and allow separation that is constant thru out your theme. I use a 960px grid system normally, and break the grid down into multiples of 30px chunks when laying out. It is simple, the spacing is uniform for margins, and it is easy to do the math.