field_widget_form call as a custom form
When you define a widget form, you can change it from another module with hook_field_widget_form_alter(), which requires Drupal 7.8 or higher.

function hook_field_widget_form_alter(&amp;$element, &amp;$form_state, $context) {
  // Add a css class to widget form elements for all fields of type mytype.
  if ($context['field']['type'] == 'mytype') {
    // Be sure not to overwrite existing attributes.
    $element['#attributes']['class'][] = 'myclass';
  }
}