I agree with all the wool suggestions -- Smart Wool used to have some good long lasting light weight wool undergarments, that worked great when layered. (I don't know if they still do, because the ones I got some years ago are still in working order.) I usually do up to two layers and a goretex/waterproof outer coat up top, and up to two layers of wool on the legs, and that keeps me quite comfortable down to about 5 degrees F. If it's colder than that, I don't ride.
The one thing I'd add for winter bike commuting is a steel studded bike tire, for traction on ice and snow. First time I used these, I bought a pair of these (as I recall from some manufacturer in Sweden), and then made a couple myself with instructions found via internet. You basically put steel screws, screw side out, through a tire, then put a rubber liner over the screw heads before inserting your tube and mounting on the rim. These are awesome and I wouldn't consider riding in snow or icy conditions without one on the front -- the rear tire seems not so important. And believe it or not, you can ride comfortably on them when the streets are free of ice and snow, so you don't have to keep changing out your tires.