You can use the disable ticket fields API to disable certain fields in the contact form. You can use this along with the prefill API to fill a ticket field and disable it so that your customers wouldn't be able to edit it.

You can also disable any custom field in the contact form. If you're disabling a required field, it needs to prefilled. 

To see a full list of attributes that can be passed to the disable API, check out the API documentation