add a repeatable autopopulate node title select list to custom block I'm going to develop a new block that user can select 4(or more) node with 4(or more) autopopulate node selection list but i couldn't find any documentation or tutorial on how to build those select list.

Any suggestion?
You can use form select options 

put the list of your nodes in to an array and pass them into the form function

function mylist_form($form, &amp;$form_state, $args) {
$mylist = array();
foreach ($args as $node){
$mylist[$node-&gt;nid]= $node-&gt;title;
}

$form['mylist'] = array(
  '#weight' =&gt; '1',
  '#key_type' =&gt; 'associative',
  '#multiple_toggle' =&gt; '1',
  '#type' =&gt; 'select',
  '#options' =&gt; $mylist,
  '#title' =&gt; 'Select nodes',
);
 return $form;
}


after in the block view function you can render the form 

$mylistform = drupal_get_form('mylist_form' , $nodes );