Generally the Core Duo spanks the performance of the Pentium 4 line, so I'd go Core Duo. This could be incorrect if the P4 Xeon had much larger L2 cache or in certain situations (like pure floating point calculations)
depends on what you wanna do. a xeon processor actually contains 2 virtual cpus, you might think it as having 1.5 cores, so 2 xeon processors would give you 4 virtual cpus or 3 cores. if you can parallelize your work, then i'd probably go with the dual xeon processors.