Как выше уже ответили, Германия - очень разная. Это практически то же самое, что спрашивать "Какие города посетить в России?". И в России есть Москва, есть Санкт-Петербург, а есть ещё буддистская Элиста, мусульманский Грозный, и т.д., и т.п.
Но я обычно всем рекомендую начать с Мюнхена. Берлин не рекомендую для знакомства с духом Германии, потому что он как столичный город, обладает наименьшим немецким колоритом. Насчёт маленьких городов - тоже согласен, но для вас такая поездка для первого раза будет довольно сложной. Погуляйте по центру Мюнхена, посетите Biergarten, BMW Welt, постарайтесь попасть на матч "Баварии", по возможности выберитесь за город к одному из многочисленных баварских замков. Не бойтесь пользоваться общественным транспортом и в любой непонятной ситуации обращаться за советом к рядом стоящим немцам - они охотно помогают.
Что касается стоимости, всё зависит от ваших предпочтений. Если вы не слишком притязательны, можете устроиться в хостеле, это будет недорого и очень интересно, потому что вы сможете общаться с соседями, которые как и вы совершают увлекательное путешествие и полны впечатлений, которыми с радостью делятся (за английский не переживайте, у вас всё получится). Если внимательно смотреть по сторонам, а не идти в ресторан с самой красивой вывеской, то в Мюнхене довольно много бюджетных кафешек, в которых обед обойдется меньше 10 евро, но будет очень даже "немецким" - картофельный салат, сосиска, пиво.
Что касается перемещений между городами, я рекомендую пользоваться BlaBlaCar. В Германии этот сервис очень популярен, потому что немцы на самом деле чрезвычайно мобильны внутри страны и "рейсов" на каждый день там великое множество. Например, от Мюнхена до Штуттгарта поездка может обойтись примерно в 13-15 евро, это в любом случае дешевле поезда + опять же водитель может оказаться интересным собеседником.
Спасибо, отличный ответ!
А про Дортмунд что-нибудь можете сказать?