As befits its name, the memory pool is kept in the process's memory. So if you quit and restart
bitcoind, the memory pool will be cleared.
However, this may not fix your problem; unconfirmed transactions relating to your own wallet addresses are stored not only in the memory pool, but in
wallet.dat, so a restart won't clear them. To accomplish that, you can start
bitcoind with the recently added
-zapwallettxes option. This will cause
bitcoind to forget all transactions associated to your addresses, and rescan the block chain to reconstruct them. In particular, any unconfirmed transactions will be forgotten and not reconstructed.
Note that you will have to have waited long enough that other nodes on the network are no longer keeping your unconfirmed transaction in their own memory pools. If they are, then (1) they might send it back to you, defeating the purpose of this exercise, and (2) if you try to send a new transaction to replace the unconfirmed one, they may reject it as a double spend.