The first thing I would try is to configure some dns RBL,
If it is correctly implemented you will have messages blocked before the SMTP exchange has begun, and nothing created in the queue. You could begin with spamhaus xbl and/or sbl, there are relatively safe and might greatly help your problem.
The second thing I would do is have a look at the COM api:
You have a
DeliveryQueue object which you can use to clear the queue. This might not be the best solution but it's always better to script it and run it on a scheduled task than having to open the gui and click manually on "Clear Queue". Once you have a basic script you can enhance it, for example by running the Clear() only if the queue size is above a certain threshold..
Then if the incoming traffic is so high that even with some good DNS RBLs and big automated clearing of the queue your server can not stand the traffic I would look for setting up an MX server somewhere else and configure it to shield your server from such attacks. A lot of unix-based server will probably handle these situations more efficiently, and you can have one on a vps for a small monthly amount.