Totally depends, Frankfurt wouldn't be my first choice.. London is a great city, but better in the summer. Of your listed options, Milan might be best as you would combine being in a city that has great shopping with day/short trips up to the mountains for snow (Cervinia is great with play areas on the snow for children and easy slopes for young skiiers).