Overriding the logic of "request new password" in Drupal?
The login system uses various core functions in the core User module to process logins and forgotten passwords.  You really don't want to mess with those (don't edit them).

At any rate hook_form_alter cannot change what those functions do but it can change which function is called.

I would suggest a custom module that 


Creates your own separate login page with the logic you desire
Has a function that sends an email with the tokenised link to your new form
Alters the user_pass form to call the function in #2 instead of the standard function which you can do by editing $form['#submit'].