There's no point in getting the E4400 if you're overclocking. The E4300 will overclock the same for $20 less since the only difference is that the E4400 has a 10x multiplier instead of the 9x and the 10x will be useless since no half-decent RAM or mobo will be maxed out with the 9x. You can reach 3.0ghz with the 9x without even overclocking DDR2-667 RAM and any mobo that you could even consider for overclocking will be able to reach the FSB needed for it too.
But I heard that E4400 can be overclocked better than both E6300 and E6320
This is incorrect. Allendales usually require more voltage then Conroes and therefore can't reach as high most of the time. You do however need a better mobo and RAM for an E6320 because of its 7x multiplier.
Now the performance difference between E6's and E4's at the same clocks is pretty similar but the E6's obviously do beat them albeit not by all that much. If you're on a tight budget, go for the E4300. If you can stretch it, either E6x00 should be the right choice.