We are developing an upgrade to a managed package and want to delete a custom field on the Contact object. There is no option to delete it. Are there are any suggestions to delete or hide the field?
You cannot delete a custom field after releasing a Managed Package. In the ISV docs there is a chart showing what objects are Customer/Developer Editable and Deleteable. Custom fields are no by both parties as far as ability to delete.
You can certainly make a new page layout and not include that field. Additionally you can edit the profile and/or Permission set (since you are referring to Contact which is a Standard object it would be the Profile in this case) and make the field inaccessible by that profile.
Those are your only options.