the e6400 would be a better choice than the e2140 to anwser your question.
the e6400 has a faster FSB and Double the amount of Cache. 2mb vs 1mb of L2.
but yes the e6420 would be the best bet as it has 4mb of L2 cache.
but you may want to look into an e6320 as it is only clocked a little bit slower than the e6400 and e6420 it has 4mb of L2 cache, it is cheaper, and will clock up to 3ghz.