The listed sequence of the places you want to visit makes sense.
I would use the trains, especially if you plan to spend some time in each of these cities and take day trips into the surrounding countryside from each. While I am not familiar with the details of every discount ticket arrangement, you can get one for each area. For example, for all travel south in Bavaria, you can use the daily Bayernkarte. It limits you to the slower trains, but yu can hop on and hop off wherever these trains stop.
To plan your itinerarym, check the website of the German railroad (Bundesbahn) at www.bahn.de. There is an English version. You may not always want to take the most direct route, so first decide what other places you want to visit wn route from point A to point B and enter these places under your desired routing. To further save money, some people, as they travel from, say, Frankfurt to Munich, buy a discounted ticket from Frankfurt to Kahl at the Hessen Bavaria "Laendergrenze" (state line) and then a discounted ticket for he next state (Bavaria). This way is probably the cheapest way to cover the places you want to visit.