How do I replace function commerce_customer_options_list with my own? How can I replace 

/**
 * Implements hook_options_list().
 */
function commerce_customer_options_list($field) {


in commerce_customer.module around line 949 with my own options_list build routine?

the hook is just sent directly to the commerce_customer module, and I don't see how I can hijack it.

Thanks
Try using hook_field_widget_form_alter in your custom module for either $context['field']['type'] == 'options_list' or of type options_select ... it looks like the widget is set as options_select in commerce_customer_field_widget_info_alter. I'm pretty sure its 1 of the 2 values.

Then you can set a #pre_render attribute to a function that alters the default commerce_customer supplied values. A derived example from the API comments is:

$element['#pre_render'][] = 'mymodule_pre_render_commerce_customer_options_field';


Then in your pre_render function you can add/remove values from the list. I think i've done this once before myself for god knows what ... haha.

Alternatively, you could also probably set or unset values from any old FAPI #options array in a $form with hook_form_alter. Hopefully 1 of these 2 approaches gets you there.

Also, you'll probably want to be sure your module invokes after commerce_customer.