[ Good rationale ]
So what you're really after is a way to organize
long option lists hierarchically, correct?
I would suggest this approach:  instead of allowing
nested <SELECT> elements, change the content models from:
    <!ELEMENT SELECT - - (OPTION+)>
    <!ELEMENT OPTION - O (#PCDATA)*>
to:
    <!ELEMENT SELECT	- - 	((OPTION | OPTGRP)+)>
    <!ELEMENT OPTGRP	- -	(OPTHEAD, (OPTION | OPTGRP)+)>
    <!ELEMENT OPTHEAD	O O	(#PCDATA)>
    <!ELEMENT OPTION	- O	(#PCDATA)>
    <!-- <OPTGRP>		Option group			-->
    <!-- <OPTHEAD>		Option group heading		-->
where the (new) OPTGRP element delimits groups of options, 
and OPTHEAD supplies a a heading or title for the subgroup.
OPTGRP elements are fully recursive.
OPTGRP and OPTHEAD have no attributes (other than the usual 
ID, CLASS, and LANG for HTML+).
Possible rendering options for SELECT elements with option groups include:
    * a series of cascading pull-right menus,
    * a collapsible outline like the Mac System 7 directory menu,
    * a two- column selection list like the Motif/Windows
      directory/file browser,
    * a three-column selection list like the NeXT directory browser,
    * a selection list for the options with a "combobox"-type
      menu for the directory hierarchy, like the Mac file selection dialog;
    * others?
    * a flat list with no hierarchy.
(Not all of these are appropriate for <SELECT MULTIPLE=MULTIPLE>...)
IMPACT ON EXISTING BROWSERS:
    Assuming that browsers ignore the unrecognized <OPTGRP>
    and <OPTHEAD> elements, they will simply render hierarchical
    <SELECT> lists as flat lists with no hierarchy, since all
    that's left are the (leaf) <OPTION> elements.
    This is a legal display option as outlined above, so existing 
    browsers already correctly implement this feature :-)
EXAMPLE OF USE:
Matthew MacDonald's example would be tagged as follows:
    <form action="mailto:joe@art.com">
    <select name=part>
	<optgrp><opthead>Ford</opthead>
	    <optgrp><opthead>engine</opthead>
		<option>rotors</option>
		<option>belts</option>
		<option>fans</option>
	    </optgrp>
	    <optgrp><opthead>headlights</opthead>
		<option>highbeams</option>
		<option>lowbeams</option>
		<option>fog</option>
	    </optgrp>
	    <!-- or using tag minimization -->
	    <optgrp>antennas
		<option>radio
		<option>t.v.
		<option>cb
	    </optgrp>
	</optgrp>
	<optgrp>Chevy
	    <!-- ... -->
	</optgrp>
    </select>
    </form>
NOTES:
    I tested this example with NCSA Mosaic for X 2.4 to see if
    it would fail to barf, and it does not appear to do the right 
    thing with the <OPTHEAD>s.  So much for "ignore unrecognized 
    elements".
    It also screws up on the </OPTION> end-tags, creating a blank option
    wherever one appears in the source markup.
AN INTERESTING PROBLEM:
    Please see my next message.
--Joe English
  joe@art.com