Das ist schon falsch. a-Elemente (die inline-Elemente sind) dürfen keine block-Elemente (z.B. div, form, ul ...) enthalten.
Kommt natürlich auf den Doctype an. Mit HTML5 wäre es legitim.
Richtig, prinzipiell darf a in HTML 5 Blockelemente enthalten, auch form. Allerdings sind Eingabefelder nicht als Nachfahrenelemente von a erlaubt. Sobald das Formular inputs, buttons usw. enthält, ist der Code invalide. Formulare in a-Elementen machen eben keinen Sinn.
Mathias