The E5504 processor can be the better one here but one thing you should remember is that these two processors use completely different technology. The E5420 is a normal quad core processor whereas the E5504 is one processor from the new series of processors for servers, that is the Nehalem processors, similar to the i7 processors on the desktop side. They have different architecture and also have the memory controller built in the processor itself.
Hence to use the E5504 processors you require the new series of server boards.
In general, all the new series processors from intel, performs better that the previous series, however you have to determine what type of processor you require based on your needs.
Hope this info will be helpful to you.