We have created a generic contact page that will meet the needs of the majority of the users.
I think adding and removing optional fields is a pretty basic function to a contact form.
It also something the majority of users will appreciate.
Also in your answer you say you can hide the optional fields with css. Wich means that it would only be possible to either remove them all, Or keep them all.
I dont know what to look for in css so I think ill pass anyway