I agree with basing yourself in the Zugspitze area.
I'm not sure what there is for accommodations in Ehrwald, but there is a cable car to the Austrian summit of the Zugspitze, which is a very short walk from the German side.
I found Garmisch-Partenkirchen to be a little to large and commercial for my tastes.
Mittenwald is only about 20 minutes from GaP by hourly train and a cute little town on it's own - worth a visit if the weather isn't good enough to go up the Zugspitze.
You might also consider Oberammergau. It's about an hour by bus to Garmisch. The bus stops in front of the Garmisch-Partenkirchen Bahnhof, which is adjacent to the Zugspitzbahn Bahnhof. Oberammergau is also just 15 minutes by bus from Linderhof, which is worth a visit if the Zugspitze is not advisable due to weather, and the castles at Hohenschwangau are accessible by bus from Oberammergau.