I used to go to Zermatt every year, for years.
Might I recommend this approach: sleep in Italy. As you know, Zermatt is indeed in Switzerland, but the skiing resort is half Swiss and half Italian, and you can buy skipass for just one of them or for both. There's a border on top of the mountain, you ski/board across it, and there's even a line drawn in the middle of the room in one bar up there, so you can cross border by hopping or keep your left foot in Italy and right one in Swiss.
Anyways, accomodation is MUCH cheaper in Italy. Look for "Breuil-Cervinia" and find accommodation there, you'll save some good € if you're there for a week or more. Also, if I remember correctly, the skipass covering both CH and IT side is a bit cheaper if bought on IT side. It's not half price, but it IS cheaper. All things added together, there's some nice money to save. Food is also cheaper, shops, restaurants... Everything is cheaper on IT side, and you get to board on the same slopes regardles of which side of the hill you wake up in the morning.
HTH