Most batteries have a 4 or 5 year life. You can go to any car parts store and get a battery for your BMW. Any good battery will be between 60 and 80 bucks. The DieHard from Sears is a nice one that Sears will replace if something goes wrong with it.
If it's an after market cd player you'll need to contact the manufacturer. If it's the radio that came with the CRV you'll have to take it to Honda. Some car shops will have a computer hook up that they might be able to get the code from. That would be about half the cost of the dealer.