Hi,
There is no built-in "undelete" functionality. You are supposed to implement scheduled environment backups (of metadata, content server repository, WIP etc) of a production environment.
So theoretically you could temporarily halt operations, revert back in time to a backup, do what you need, then go back to the present state.
In reality, it is much easier to just delete or fix the garbage directly in the CDM database. Campaign Code change will only require 1 or 2 simple SQL updates to CI_CAMPAIGN and to CI_CELL_PACKAGE table (that one only if you have run the campaign and stored the contact history).
You can also modify your reporting to exclude any data from non-production business context by referring to "Business_Context_Nm" column of the CI_Campaign table.
Hope if helps!
-------
Dmitriy Alergant, Tier One Analytics