Anzitutto ecco alcuni link che trattano di form accessibili:
Accessible CSS Forms: Using CSS to Create a Two-Column Layout
Form fluidi con i css
Styling form controls with CSS
Bottoni con rollover
Fieldsets, Legends and Screen Readers

Poi riguardo il punto 1, non credo ci siano differenze riguardo all'accessibilita`, dove l'attributo for del tag label e` sufficiente per associare la label al campo.

Invece non sono d'accordo sul punto 1a.
Ho l'impressione che confondi i tag dei form.
Io la cosa che dici (se ho capito bene) la realizzerei cosi:
codice:
<fieldset>
  <legend>Nome:</legend>
  ... qui puo` esserci qualsiasi cosa ...
</fieldset>
Dove la sottodivisione di un form e` realizzata con <fieldset> (al posto del <div>) e il suo titolo e` creato con il <legend>. Con i CSS poi puoi definire come visualizzare il filedset (di default credo che sia un bordo di 1 px tutt'attorno)