Yes that is not a problem, just make sure you monitor the resources of this servers closely.
In my experience disk i/o is a much bigger issue than CPU power and memory these days...
What you should do though, dedicate one cpu core and some RAM to the dom0. The dom0 will setup some buffers based on the RAM allocated, and that can lead to some strange behaviour when the RAM shrinks (because it's allocated to domUs) during operation. In addition you'll want to be sure that the dom0 is always able to execute a command, even when some domUs block all the cores. Cores pinned to the dom0 wont get allocated to the domUs. To check memory and CPU resources of both dom0 and domUs use xm top
To achieve that use the following kernel options
dom0_mem=1024M dom0_max_vcpus=1 dom0_vcpus_pin
You do not need to do any further configuration so that the CPUs are shared. Just add vcpus=number of cores
to your xen domU configuration files to specify how many virtual cores a single domU can use. If you do not explicitly pin some cores to a domU (using cpus=
in the configuration file), the dom0 will distribute the load accordingly over all available CPUs / Cores.