Direi che si può fare. Con un buon uso di javascript di cui al momento non ho la piena conoscenza.
La logica del form però sarebbe invertita perchè entrambi i campi andrebbero visualizzati per decidere quale scegliere, e nascondere quello non scelto non vedo che utilità può avere.
Dal lato pratico però, in caso di archiviazione nel database non vedo l'utilità, perchè comunque anche al campo che sarà nascosto va attribuito un valore di default.