this is all very vague, the only clear parts are La Spezia and Munich.
a) probably, depends on friend and how much catching up there is.
b) when/why did Geneva enter the equation? and Como/Lugano just make things harder
c) yes there is a better order, if friend fits it.
La Spezia is almost exactly located to make this difficult. It's quite a long journey (time more than distance, due to Alps) by land but the airports that might be useful are in the opposite direction, so by the time you've gone there and hung around for checkin and boarding you don't save much time.
Lausanne is the logical first stop assuming the date fits with friend. By car you could take a short cut and do this in 6-7 hours. But leaving an italian rental in switzerland will add a relocation charge, they cannot be re-rented there. Other posts say these charges are exhorbitant but you try getting a shipper to move a car across borders and see how much they want for it - and then add on the lost revenue from days when it wasn't back at the office. They are just a lot of money, and before you ask, taking it Munich makes it so much worse!
There doesn't seem to be an easy bus option using the short route (and there's no point with a complex bus option).
Which leaves the train. Technically quite straightforward but goes a little out of the way via Milan. Would take nearly 8 hours to Lausanne and you'd need to leave at 7:30 AM, after that options are slower and messier.
After Lausanne it's much simpler. Except for the mention of Bern. Was thinking of leaving from Bern to Munich so could also spend a night here. Pardon? do you mean you have seen the very early flight from Bern on a very small Dornier plane and thought that would be cool? There is no other reason why someone not already in Bern would consider that flight! The late afternoon flight makes a little more sense - if you skip Luzern, otherwise forget Bern flights.
Lausanne-Berner Oberland is simple by train (and bus depending on where you stay) and a reasonable next step.
Berner Oberland - Luzern is very simple by train. One or two nights depending on how early you set off and how much you want to see.
Luzern - Munich is simple by train, around 5 hours with a good connection. By comparison, Luzern - Zurich airport is 1 hour, Munich airport to city is 45 minutes, checkin over an hour, wait for bag say 30 minutes - add it all up and then add 1 hour for the actual flight assuming no delay.