335 all the way, especially if it has sport package. That is, if you consider yourself a performance car enthusiast. 335 has 80 hp on the 328, plus more standard equipment. And the 335 is so easy to modify, if you want, giving it 130+ hp more than the 328.
4WD is nice, but it only helps you accelerate not stop or turn. I have a 335i, with Dinan stage 2 software, and I ski in the Rocky Mountains every weekend from Nov through Apr. RWD and Nokian Hakkapelittaa snow tires get me easily through snow up to the floorboards with ease. That said -xi has almost 3/4 inch more groud clearance. So its a tradeoff - drive both before you decide.
Either way, if you plan on driving in winter get some REAL snow tires. Good snow tires will reduce your stopping distance by 20% on cold dry roads, 30-35% on snow or ice. If it prevents even one minor accident, they pay for themselves.
CPO - is about peace of mind, especially on a 335 (known HPFP issues). Also, if you are financing a big amount, CPO comes with discounted finance rates. The interest savings might cover the extra CPO cost. One thing to remember - never buy a non-CPO car from a Stealership. If they dealer won't CPO it, that means they KNOW of a problem that prevents the car from passing the inspection.