I would cross out Copenhagen. The chances of seeing snow there are quite low (its more or less on sea level and no mountains in the surrounding).
Oslo is surounded by mountains (more hills actually) with the famous Holmenkollen Ski Stadium visible form the city centre. A train ride to Bergen can bring you even deeper into the mountains. But as Oslo is located closer to the pole the days are quite short, so this will limit daylight activities.
I would skip the black-forest in Winter. Due to the global warming snow is not always guaranteed there even on higher altitude. Switzerland would be the better option. I would also recommend rather Bern or Luzern as a base than Basel.