One more thought on using chemical cleaners to get rid of the smoke odor. You can use them BEFORE you seal the surfaces, but not after! The same goes for using an ozone generator.A few years ago I did a ranch house where the owner was a heavy smoker. Of all the products I looked at BIN had the lowest permeability rating - meaning that it would prevent cig smoke from leaching out into the rooms. That being said, I didn't want to breathe BIN so I opted for KILZ MAX. First I ran an ozone machine, then I cleaned and vac'd as much of the painted surfaces I could with a commercial cleaner from the janitorial supply house, rinsed with clean water and vac'd, let dry, then 2 coats of KILZ MAX.
The popcorn ceilings might present a problem if they are not sealed. Not sure if any primer would pull off the popcorn. If so, you might want to put a coat of Gardz on the popcorn before using BIN.
Good luck! I probably would pass on a job like this at this point in my life.