una cosa del genere:
codice:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  <html xmlns="http://www.w3.org/1999/xhtml">
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>Documento senza titolo</title>
  <script type="text/javascript">
  function generauser(){
  var nome = document.getElementById("nome").value
  var partenome = nome.substring(0,3)
  var cognome = document.getElementById("cognome").value
  var partecognome = cognome.substring(0,3)
  var nrandom = Math.floor(Math.random() * (9999))
  var user = partenome+partecognome+nrandom
  document.getElementById("user").value = user;
  }
  </script>
  </head>
  <body>
  <form action="" method="get">
  <input name="nome" id="nome" type="text" />
  <input name="cognome" id="cognome" type="text" onblur="if(document.getElementById('nome').value!=''){generauser()}else{alert('inserisci prima il nome');this.value=''}" />
  <input name="user" id="user" type="text" />
  </form>
  </body>
  </html>
se vuoi usare la sessione cambia la variabile nrandom cosi:
codice:
var sessione = 'qui metti la sessione'
var nrandom = sessione.substring(0,4)