1. Learning German is a great idea, taking classes while you are here sounds even better. You'll need German in daily life even if your business is in English. Many people in Germany speak good English, but not everybody does, and signs, ticket machines, timetables, menus etc. etc. etc. are in German - you'll get by much better with some language skills.
Difficult? Well, I learned German at the age of 2 and didn't find it difficult
2. Heidelberg isn't the cheapest place in the area to live, but it's a lively student town, so probably the best choice for a young outgoing person.
Mannheim has got a large university, too, and it's where people go for shopping, but - sorry Mannheimers - I have to admit that I do not find the city attractive.