Where should we stay? Cologne? Frankfurt? In the Rhine Valley? Thanks for your suggestions! Also list favorite hotels if you have them!
Cologne comes to mind. It's conveniently located between the two. The town center is right next to the train station so, if you booked lodging in the center, you wouldn't need to worry about transportation.
Rhine Valley is also an option, I think a little less convenient but still possible. I'm not a fan of Koblenz, other than as a place to make a train connection. Bacharach, St. Goar, Boppard and others are nicer little towns, but could be packed during the high tourist months.
I think Cologne would be ideal. It's a beautiful city with a breathtaking cathedral, and lots to see and do there. With 2 nights, you could spend part of the time in Cologne and also take a day trip to Aachen, if you are so inclined. Aachen also has a beautiful cathedral - nice on the outside but a jewel inside, with many historic items, including Charlemagne's remains and the exquisite Barbarossa Chandelier from the 12th century. The town itself is well worth a visit with some charming cafes and shops.
Cologne is easy to get to by train and easy to get around in. I stayed at the CityClass Europa am Dom hotel located very near to the cathedral and train station (in fact, I had a view of the cathedral from my window). Nothing fancy by clean, conveniently located and reasonably priced. The hotel has elevators and serves a very nice breakfast (not included). But best of all, it was very near the major sights and the shopping district.