At least with my experience having used them for 20 years, Garmin is the way to go for me. Right now I have the C550 which has all that you mention except for XM Radio and Hard drive space. Most units I have seen offer limited HD Space. Enough for everything I need by simply buying SD Cards, but likely not enough to support a ton of photos on the internal memory.
As far as the Bluetooth compatibility, check the website as it list the compatibility for the phones. For which it will not pull in all the contact information for all phones.
Garmin: Bluetooth™ Phone Compatibility
edit 1 - although I keep one of these for my camera bag for digital photography, so I never looked at HD space for the GPS
Epson P-2000, Overview - Product Information - Epson America, Inc.
Here is a forum I search every now and then.
GpsPasSion Forums