Although arguing over this specific example is amusing, there are much larger issues at play which deserve discussion far more. (It's what I get for dating a labor attorney...this kind of stuff comes up over dinner a lot.)
1) Many employees in this country are "at-will" employees, meaning that the employer can fire them for ANY reason which does not violate discrimination laws. When you sign an employment contract, it usually contains a provision that you may be fired at any time, even if they bother to list specific examples of reasons why your employment would be terminated.
2) Protected classes against discrimination are specified in the law, and smokers are not a protected class at this time AFAIK. There is no legal obligation to accommodate smokers' needs in the workplace (mandatory breaks for smoking, etc.), and firing a smoker is not grounds for a discrimination lawsuit.
3) There are plenty of other employers which have <AHEM> "interesting" clauses in their employment contracts. Many employers have personal appearance/presentation standards -- a famous example is the Disney rule against facial hair. If you think the Disney rule is OK, then couldn't you also argue that smelling like smoke would cause a negative reaction in the customer, and therefore be against presentation standards? Another example: Wal-Mart has an morality clause in their contracts which basically says that if you do anything they consider to be immoral in your off-duty time, you will be fired for it. If you think that rule is OK, then you should probably agree with the no-smoking clause since THAT behavior is far more closely tied to negative work performance (more sick days, potentially less productivity at work, etc.) than, say, being promiscuous or whatever it is that pisses Wal-Mart off.
Yeah, this guy is more than likely a crazy old dude who thinks graham crackers and Metamucil will keep you alive until the ripe old age of 150. But I'm not sure that what he's doing is ILLEGAL...which means we ought to be taking a hard look at our laws.