Hola:
Tanto usando disabled como readOnly los campos siguen visibles, pero en el primero de los casos no se envía y en el segundo sí.
En la segunda pregunta, los radios suelen ser un array (sería absurdo otra cosa), así que hay que recorrerlo para ponerlo readonly... una alternativa podría ser superponerle una capa transparente, pero al cubrir los controles, éstos no podrían variarse.
Saludos