Hi A.,
Oh how frustrating and embarrassing. But your baby is just being honest. I'm a grandmother too. The first thing I'd say is grandma needs to listen to and respect what your little one is 'telling' her. Such as, play with baby while she's on YOUR lap and build up from there. Always stop play BEFORE the baby gets upset. And when she builds up to holding the baby, as soon as your daughter fusses, grandma should immediately bring her to you. Most people tend to turn their backs on the person the baby is reaching for. This allows the baby to still see the person they want, but instead of getting closer, that person they desperately need is getting further away. It must be a really frightening feeling for a helpless little baby. By bringing the baby to you EVERY time the baby expresses that NEED -and remind grandma it is a need and not a want- grandma is helping to build trust with your baby. She is saying (without words) that I'm listening to you, and whatever yo need I'll help you get.
As for the smoky smelling clothes you might want to say very calmly, "you know, I wonder if she is smelling a difference on your clothing because you smoke and we don't. You can try putting my sweat jacket over your top and see if that works" Say it with the attitude of 'hey it's worth a shot. I'll try anything'. Remember, babies are very scent oriented. Great little noses. Good luck, S.