if ($password1.val() === $password2.val()) {
sollte man hier wirklich bei jedem Tastendruck die ganzen Eingaben vergleichen. Bis zum vorletzten Zeichen sind diese ja nicht gleich. Wäre es nicht besser, nur so viele Zeichen zu vergleichen, wie im zweiten Feld eigegeben wurden?
Über die Benutzerfreundlichkeit dieser Lösung zu diskutieren ist mir müßig. Sicher hast du recht, sicher könnte man damit teilweise bessere Ergebnisse erzielen. Für ein gutes Ergebnis müsste man aber ohnehin ganz andere Wege einschlagen.