no, no
semplicemente non mi era chiaro che l' unica differenza fosse l' anno a 2 cifre

oltre alla modifica alla regexp che gia' hai apportato (\d{2} al posto di \d{4})
cambia anche
&& date.getFullYear()==arrDate[2]
in
&& date.getFullYear().substr(2)==arrDate[2]

se posso, ti consiglio due accorgimenti
qui
onBlur='return controllo_data_o_niente(this.name);'
il return lo puoi togliere, non riuscirai a bloccare un blur semplicemente ritornando false
il browser non lo permette per evitare di lasciare l' utente "incastrato" in un campo

poi, passi this.name, ma poi lo valuti come un id (id che tra l' altro non e' specificato per quell' elemento!)
solo IE puo' farlo passare senza generare errore
passa solo this alla funzione
function controllo_data_o_niente(v)
e rimuovi questo
var v=document.getElementById(variabile);

ciao