@monnie24 - I am so sorry your tenants were so terrible! You've really had a hard time fixing up their mess. It's just awful.
Agree with all the previous suggestions regarding carpets, curtains and walls. Mum bought a house that the previous owner had smoked in for about 40 years (without any windows open - they were all nailed shut). She ended up ripping the carpets out, because there were great floor boards underneath, but she was told a professional clean with a deoderiser should do it. Electrodry will also clean grout in tiled areas if you think that could have absorbed the smells. She washed all the walls with sugar soap, and even did the ceilings in the worst rooms.
Bicarb is great for absorbing smells. Once my cat peed on the carpet (I was not happy!), I cleaned it up and covered it with the bicarb and after a day or 2 the smell was gone. It really does work well. I've also put it in a container in my fridge if we have something like chopped onions/curries/garlicky foods in there.
I'm super sensitive to smells, so I really feel for you.