crea i campi per ciascuna option e racchiudi ogni gruppo di campi in un div con id univoco uguale al valore della option.
Tutti i div con tutti i campi devono avere inizialmente uno style="display:none;"
Poi usando l'evento "onchange" mostri solo i campi associati alla singola option:
codice:
function show(id){
//prima di mostrare il nuovo nascondo tutti i vecchi, usando il div "Box"
var arr_divs=document.getElementById('Box').getElementsByTagName('div');
for(var i=0; i<arr_divs.length; i++){
arr_divs[i].style.display="none";
}
//quindi mostro i campi associati all'option
document.getElementById(id).style.display="block";
}
<select onchange="show(this.value)">
<option value="Casa">Casa</option>
<option value="Macchina">Macchina</option>
ecc.
</select>
<div id="Box">
<div id="Casa" style="display:none">
<input name="Indirizzo" />
<input name="CAP" />
ecc.
</div>
<div id="Macchina" style="display:none">
<input name="Targa" />
<input name="Alimantazione" />
ecc.
</div>
</div>