Hey Chon,
I think this isn't possible unless you can finagle a hand-shake deal with Marketo support.
The integration between Marketo and a CRM (Dynamics or SFDC) watches for custom CRM fields and then creates duplicate fields in Marketo's lead database. When the CRM-side custom fields are updated, Marketo watches this and updates the mapped Marketo field (and vice-versa). There are also databases watching for those Marketo fields to be changed, which I believe is the reason that fields can't actually be deleted, only hidden—data integrity reasons, and too many dependencies on old fields and their change histories.
When I'm archiving old fields before hiding them, I change their names in the Admin section to prefix it with "ARCHIVED" so it doesn't get confusing in this context or later, then edit the field's description to say where it came form, why it was hidden, the date it's hidden, and the initials of the individual who hides the field. Note: you have to unbuild any "field used by" dependencies before this is editable.
Best,
Edward Unthank | Founder, Etumos