1) You're right that you can't delete tickets out of RT, but I don't understand why you'd want to. Just because an issue is dead, does't mean that all records of it should be purged from the database. "killed" is just another status, like open, stalled and resolved and just shows that this issue no longer requires action.
2) Your performance problems are totally whacked and don't correspond at all to my experience. I've seen RT 1.x systems with more than 500,000 tickets in them that don't have anything like the performance problems you're describing. Searches through the tickets only takes ~10s on moderate hardware on this system (with more than 500,000 tickets). Have you done something silly like not turned indexing on on the important tables?