hook_form_alter to limit user select list to those referenced in a node
I finally managed to get it working:

&lt;?php

function my_module_form_alter(&amp;$form, $form_state, $form_id) {
 if ($form_id == 'project_event_node_form') {
  $node = $form_state['node'];
   if (!isset($node-&gt;nid) || isset($node-&gt;is_new)) {
    /** This is a new node */
    $id_project=var_export($form['field_project']['und']['#default_value'][0], TRUE);
   }
   else {
    /** This is not a new node */
    $id_project=var_export($form['field_project']['und']['#default_value'][0], TRUE);
    /** horrible hack, but I can't get the nid to behave as an integer no matter what */
    $id_project = substr($id_project, 1, -1);
    /** no need to change the referenced project, hiding the field  */
    $form['field_projet'] = array('#type' =&gt; 'hidden');
   }
   /** common code */
   $project = node_load($id_project);
   $user_ref = array();
   foreach(field_get_items('node', $project, 'field_users') as $u){
   $usr_obj=user_load($u['target_id']);
   /** this makes the checkbox form render in a useable way */
   $user_ref[$usr_obj-&gt;uid]=$usr_obj-&gt;name;
   }
  $form['field_attendees']['und']['#options'] = $user_ref;
 }
}


Any suggestions or improvements are welcome, particularly with the dirty hack whith the nid behaving as a string in the node edit.

Although this is a rather simple module it is my first one, so I'd like to thank the patience and support of all those who helped with this, particularly Peyman and Josh at robustLINKS, bnjmnm and Michael.