hook_form_alter setting select list #options key allow attributes per option
Based on theme_select which is the one that constructs and styles the Drupal Form API's select type. It uses the form_select_options function do create the &lt;option&gt; tags.

So you would need to override theme_select and replace the form_select_options function with your own.

Basically, copy the functions and it's content, rename them and do your modifications.