It is my goal to create a platform where all these things can be achieved. However I don't think Linux has all of what you are looking for without some effort. The pieces are there, but they haven't been put together yet in a very friedly way. I hope this changes soon. here's my take:
-AM/FM Radio - is possible pending you find a receiver that works. Some work through V4L (Video for Linux). mplayer can play radio.
-XM Radio - I don't know if anyone has this working in Linux. If there is a serial interface I'm sure this is possible.
-HD Radio - This is currently being worked on by miatacarpc. It will be ready with nGhost2.
-OBD-II Access - There are Linux Tools to do this. Carman is one. and there are more Linux ones if you google around a bit.
-GPS Software - Navit is the best native Linux GPS software with routing abilities. It will be very promising as it matures.
-Bluetooth - There are programs that can do this. Like many others needs wrapping in a carpc interface (hopefully nGhost2). This is a good reference for handsfree in Linux.
If anyone knows more, has additional info, or can correct me, I appreciate it.