Cat Crap works somewhat, as does Rain-X somewhat. A better solution is using a face-mask which tends to disperse your breath into the fabric. Have found that thick polarfleece, like a Turtle Fur (am a big fan of Turtlefur) neck gaiter, pulled up over your nose and tucked under your glasses, works about as well as anything. Another reason to use a neck gaitor is that as one section wets out, you can give it a quarter turn periodically. By the time you give it 3 turns, the first area will have dried. It's not foolproof, however.
I've used the above "face mask" in temps down to -15F (actual, not windchill ratings) in winds up to 30mph. It works reasonably well in blocking much of the wind and preventing fogging/freezing of eye glasses.