How to fetch a field's values from a lot of nodes?
You can also use field_attach_load, I believe you can pass it just 1 field you want and a set of entity ids and you can get back all the values. The below example is taken from this blog post and I take no credit for the code:

$query = new EntityFieldQuery();
 $query-&gt;entityCondition('entity_type', 'node')
   -&gt;entityCondition('bundle', 'article')
   -&gt;propertyCondition('status', 1)
   -&gt;fieldCondition('field_image', 'fid', 'NULL', '!=');
 $results = $query-&gt;execute();
 $articles = $results['node'];
 $fields = field_info_instances('node', 'article');
 $field_id = $fields['field_image']['field_id'];
 field_attach_load('node', $articles, FIELD_LOAD_CURRENT, array('field_id' =&gt; $field_id));