Hi there satish427!
If you have a winmodem (those cheap intern ones) are you in for a big fight. However, external modems seems to work fine with Linux. I cannot really help you with that matter, since I never used Linux with a modem. But try getting a good "real" modem from eBay, maybe...
For distributions, it's really difficult to recommend you one. It's just as personal as liking an specific car or a beer... The hole point is, they are all the same and they are all different at the same time. Mandrake, SuSE and Redhat are known as "easier" to use because they provide more config tools then others distributions around. I've been trying all distros around for the past years, and I just love Slackware and SuSE so far...
Linux does, play audio CD's. Problems commonly found are: Missing a little cord that connects the CD/DVD-Rom device to the sound card. Some applications, as xmms
has digital audio extraction, so you won't need that cord.
It also plays VCD's with the right application. mplayer
besides being a super player (plays DVD's, DivX, mp3, VCD's, mpg, avi, mov and a lot of other neat stuff) does a neat job with VCD's.
About programming, it depends which language you want to play with. Out of the box, Linux can compile java, python, C/C++ and many others...
Good luck mate!