How to alter a form depending how it was accessed
Inside your form_alter() hook, you can always check what page a form is on by looking at $_GET['q'], eg:

if ($form_id=='user_login' &amp;&amp; $_GET['q']=='different/link') {
  // do form alters here
}


so if you are at www.yourhost.com/different/link, it will do whatever you tell it to do.