Updated April 21, 2007. Many thanks to Stephen Ferg of bls.gov for pointing out that in at least some browsers, 1) a non-breaking space now works for spacing and 2) only the <select> tag needs its class set, not its <option> tags too.
<meta http-equiv=
"Content-Type" content="text/html; charset=ISO-8859-1">2) Use a fixed-width font in a style, and set the class attribute equal to that style for each element in the select option set of elements:
<style type=
"text/css"><select name="whatever" class=
"fixedwidth"><select name="whatever" class="fixedwidth">
<option value="1" class="fixedwidth">First choice 2 asdf</option>
<option value="2" class="fixedwidth">Second choices 1MiM g</option>
</select>
3) In place of every single space that will show for an option, substitute another character, such as a non-breaking space ( ), an underscore, or a dot (character number 0183). Note that formerly the character used must be actually placed into the HTML as a single character, not as an &'d character number such as & 0183 ;.A non-breaking space now works! However, the use of the non-breaking space character entity for this has not been tested in all browsers.
In effect this combination of conditions places the contents of the option element in a sort of "pre"-tag monospace mode.
Here are some examples: