Why was the maximum target set to 0xffff0000000...? Is there any specific reason why the initial target was set to this:

00000000ffff0000000000000000000000000000000000000000000000000000


Why not the maximum value for a 256 bit number:

ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
I admit that I don't know for sure, but I have a guess.  Since Satoshi was mining by himself for the first blocks, he probably set the initial target to whatever would take approximately 10 minutes to mine a block on his CPU.  Had he set it to the maximum value for a 256 bit number, he would have mined the first 2,016 blocks almost instantly, and then immediately retargeted.

Because of the large number of blocks mined in such a short amount of time, this would likely have caused the retargeting calculation to produce a less-than-perfect result, meaning that the next 2016 blocks may be mined either far too quickly or far too slowly.

It was probably just better for him to initialize the target to a reasonable value, rather than force the algorithm to run its course in order to produce one.