No, there's not really any way to do that, as it would wreck past accounting. It's actually a fundamental design issue (perhaps you could call it a flaw) suffered by most pools that use the worker paradigm. I could possibly hide them permanently, but then you couldn't recreate a worker with that same name.
Just a thought, but maybe they could be marked as hidden and then renamed to something like hash(rand()) ?