Most memory doesn't have ECC actually. It's more expensive and is only used in servers and workstations.
www.kingston.com has a selector that allows you to specify your brand and model and can tell you what modules you need. (I'd suggest Crucial but they don't sell RDRAM.) They list what you need in "kits", which is a pair of matched modules (so only order one kit if you buy from them).
You only need a pair of 256MB modules if you're trying to increase your memory by 512MB. If you only want 256MB total, you only need a pair of 128MB modules (a 256MB "kit" from Kingston).
You can get it cheaper from
www.newegg.com as well, as well as other brands. Even Corsair branded 256MB modules can be a LOT cheaper than buying from Kingston directly (they seem to have a serious markup on the "kits" compared to buying the modules individually).
If you have a P4 with a 400MHz bus, then you can get essentially any 800MHz modules. If you have a 533MHz bus processor, then make sure the modules you get are the 40ns variety.