How to load taxonomy terms from user profile field using entityfieldquery()?
SOLVED with my module user_referenced_taxonomy_terms
code has quality 60%. you need to read it and correct if your fields has other names. this code works in my site.

/*displays only user checked companies in node addition form in field_company*/
/* field_companies - user profile field  */
/* field_company - node field */

function profile_taxonomy_on_node_addition_form_node_form_alter(&amp;$form, &amp;$form_state, $form_id) {

  global $user;
  //if current user has roles administrator or editor return
  foreach ($user-&gt;roles as $role) {
      if (($role == 'administrator') || ($role == 'editor')) return;
  }
  if (isset($form['field_company'])) {
    //get user checked terms companies
    $terms = db_select('field_data_field_companies', 'c')
       -&gt;fields('c', array('field_companies_tid'))
       -&gt;condition('c.entity_id', $user-&gt;uid)
       -&gt;execute()
       -&gt;fetchCol();
    if ($terms) {
        //forming array of firms using $terms array
        $count=count($terms);
        foreach ($form['field_company']['und']['#options'] as $key=&gt;$value) {
            if ($key == '_none') continue;
            $delete=true;
            for ($i=0;$i&lt;$count;$i++) {
                if ($key == $terms[$i]) $delete = FALSE;
            }
            if ($delete) $form['field_company']['und'][$key]= array('#access' =&gt; FALSE);
        }
    }else {
        //hide field firm if user has no access to any term
        $form['field_company']['#access'] = FALSE;
    }
  }
}


PS: with ur comment i optimized this code. 
fetchAll() gives array of objects i do not need in objects and this is not optimal.
fetchCol() gives array that exactly i need. 
but fetchAllKeyed() gives only one element. 
thank you Paul!