Il controllo sul form lo puoi fare inserendo preventivamente in On Load un'action DB Read che filtra i campi della tabella registrata in database sul campo uguale al valore dell'utente registrato.
Se trova la registrazione già fatta in On found inserisci un messaggio di avviso.
Se non lo trova in On found metti l'action HTML (render form) che mostra il form.
Per modulo custom dovresti inserire un codice che compie lo stesso controllo detto sopra.
Per il menù, ci penso, ma credo dovresti fare un menù con altro modulo custom per cui si ritorna al caso precedente.