how to validate email id is already register or not
This can be done with hook_form_alter:

function module_(&amp;$form, &amp;$form_state, $form_id) {
  $user_login_forms = array('user_login', 'user_login_block');
  if (in_array($form_id, $user_login_forms)) {
    $form['#validate'][] = 'my_validate_function';
  }
}

function my_validate_function(&amp;$form, &amp;$form_state) {
  $name = $form_state['values']['name'];
  // Drupal 6:
  if (!db_result(db_query("SELECT COUNT(*) FROM {users} WHERE name = '%s';", $name))) {
    // User doesn't exist
  }
  // Drupal 7:
  if (!db_query("SELECT COUNT(*) FROM {users} WHERE name = :name;", array(':name' =&gt; $name))-&gt;fetchField()) {
    // User doesn't exist
   }
}


It's better to query the DB directly in this case than than using user_load as it hooks into other modules as well.