Unset terms that show in taxonomy autocomplete
Your best bet would be to create your own autocomplete path. Here are the steps to implement this:

Create a custom module

In hook menu create a custom autocomplete path:

$items['my-module-taxonomy/autocomplete'] = array(
  'title' =&gt; 'Custom Autocomplete taxonomy',
  'page callback' =&gt; 'my_module_taxonomy_autocomplete',
  'access arguments' =&gt; array('access content'),
  'type' =&gt; MENU_CALLBACK,
);


Create my_module_taxonomy_autocomplete function.  The easy way would be to copy everything from the  taxonomy_autocomplete() function and add conditions in your query. For example:

-&gt;condition('t.tid', array(1,2,3), 'IN')


In hook_form_alter() set the autocomplete field from using the default one to the custom one you just made:

/**
 * Implements hook_form_alter().
 */
function my_module_form_alter(&amp;$form, &amp;$form_state, $form_id) {
  if ($form_id == 'my_node') {
    $form['field_term'][LANGUAGE_NONE]['#autocomplete_path'] = 'my-module-taxonomy/autocomplete';
  }
}