I have been to all the places you listed. I will address your itinerary after answering your two questions.
1) You might have a problem renting a car in one country and dropping in another. Frequently, huge fees are charged for this. Also, you don't want an automobile in any of the large cities like Paris, Cologne, Milan, Rome or Munich. Even in the smaller cities like Florence you may have a difficulty finding parking near your hotel.
I would advise you to rent a car only to visit areas in the countryside, like Caen from Paris. Not sure how many in your party, but if only two, you should stick to the train for this itinerary.
2) Small B&Bs that are popular can fill up quickly. Book as soon as you book your airfare. I suggest that you consider when choosing a B&B or hotel that you consider if parking is free, if you plan to arrive by car. If not, suggest a place close to the city center so you can walk to sights. Use Tripadvisor to look at reviews of your B&Bs and use the map feature on TA for checking location.
3) Not sure why you picked some of the cities for your itinerary. Nothing wrong with those places, but some are just not the best places to see in Europe, especially for your first mainland Europe trip.
Caen, is fine, if you plan to tour Normandy, but it not on its own. If you do want to go to Normandy, you can take a tour that visits the D day beaches, American Cemetery, Bayeux (to see the magnificent Bayeux Tapestry- 900 years old, about the Norman invasion of England). You can drive to visit Normandy and stay at Caen, but don't miss Bayeux. Rent a car in Paris and turn it in there unless you want to drive it to Colmar (which is on the opposite side of France).
Colmar is fine, but are you going to visit Strassbourg. Both cities are great, but not sure why they are on your list for a first trip to Europe. Also, why spend three nights there? You must be planning to see more than Colmar and even Strassbourg.
Cologne is a great city, the cathedral is magnificent, but you can see that in half a day. No reason to stay there for more than one nights. The city was bombed into dirt during WWII and only the cathedral survived virtually undamaged.
Milan is a great city, as is Verona, each has one night, but why skip Venice. Venice is a unique city with great history. Not to be missed.
Florence and Rome are two of my favorites. I would cut one night from Verona, you can see it enroute to Florence. Spend an extra day in Florence.
Munich is great, but it is some distance from Italy. Many people that go to Munich want to visit Bavarian castles, which might be better for another trip.
Remember, any time you travel from one city to another, you lose important sight seeing time. Also, if you drive, you have to face old European cities with narrow streets and sometimes hard to negotiate downtowns. If you take the train, then you have to pay for taxis to your B&B.
My first trip to mainland Europe, I planned three weeks there visiting Rome, Florence, Venice, Munich and Bavaria ending in Paris. Took the train everywhere. Of course, you may have different priorities or wants, which I understand, just think about my points and try to eliminate one or more of you places to visit.