John,
Part of the answer to your question depends on what kind of update packages you have, and how you manage them (i.e. do you deploy each one to all clients, or on an as-needed or departmental basis?).
For us, we build and deploy an update package usually about once every two to three weeks. We deploy the package to all clients, and monitor to ensure that all packages are accepted before we build our next update package. We've had cases in which packages can be applied out of chronological order, if more than one is waiting to be accepted at a client at a given time. If two or more of these packages had the same object, then you could end up with mis-aligned specs.
Since we monitor our update packages and keep on top of them being accepted, once all deployments are complete, we delete the update package. So at most we have one update package active for each environment at any given time.
Also, we don't use compression, as our network bandwidth is sufficient for deploying uncompressed updates, and therefore we don't have to go through the compression step. You may have different requirements, however, so you'll know best what works for you.
So, can you delete update packages? Yes, but only once you're done with them (deployments), and in your case, after you've compressed them.