Use multiple widget types for one field
I'm seeking clarification but I'll go ahead and add this here:

As you commented, you can use hook_field_widget_properties_alter() like this:

function important_dates_field_widget_properties_alter(&amp;$widget, $context) {
  // kpr($widget);

  $pageCheck = FALSE;
  $formPath = 'my/form/path';
  if ($formPath == current_path() || $formPath == request_path()) {
    $pageCheck = TRUE;
  }

  if ($pageCheck) {
    // switch from options to autocomplete
    /*if ($widget['type'] == 'options_select') {
      $widget['type'] = 'taxonomy_autocomplete';
      $widget['module'] = 'taxonomy';
    }*/
    // switch from autocomplete to options
    if ($widget['type'] == 'taxonomy_autocomplete') {
      $widget['type'] = 'options_select';
      $widget['module'] = 'options';
    }
  }
}


You can not define multiple widgets for a field.  You can, however, create another field of type "Term Reference" and choose a different widget.