Get the E6420 (4M cache) for the extra cache (E2140/2160 only have 1M) and OCing from 1066FSB to 1333 is a lot easier and safer than from 800 to 1333. If the OCing goes badly, you'll be stuck with a crappy chip with the E2140 whereas the E6420 is very nice.
i dont believe the e2140 has a very high overclocking ability. xbit labs only got it to 2.8. the e2160 you can get to around 3.4. that being said, an e2140 @2.8 would run circles around an e6400. although now it makes no sense to buy an e6400 as the e6420 is cheaper and has 4mb cache.
if you can get an e2140 to at least 2.6 it will be better than the 6420. the l2 cache usually only amounts to about 5-10% in games and encoding.
you dont need to get an aftermarket cooler unless you plan on going past ~3.0 GHz.