Absolutely not, they should not be forced to hire me. But, I do believe this was an inappropriate question to ask. Believe me, there are a ton of other reasons she could have said no to me. But the deal breaker was the smoking, if I had said no, I probably would have gotten the job.
She might well have already detected the smell on your clothes or breath. So, if you had said no, then she would have rejected you for lying.