are custom fields deletable from a managed package?

Custom fields can be deleted from a managed package if the package is in beta and has never been released. Once the released package has been installed as a released version, things get a lot tougher. The only option at that point is to have it uninstalled from all of your customers and only then can you request to have your package rolled back to beta.

This is all a bit of a moot point however, since with the Spring '14 release, ISVs will have the option to delete some components in a managed package, including custom fields. From the Spring '14 release notes:

Starting Spring ‘14, ISVs can delete the following types of components when updating a previously released managed package.

  • Custom Buttons or Links
  • Custom Fields
  • Custom Objects
  • Custom Tabs
  • Field Sets
  • Record Types
  • Validation Rules