From NASA's Socioeconomic Data and Applications Center (SEDAC), I found this dataset: Gridded Population of the World (GPW), v4.
30 arc-second (approx 1 km) native resolution, which is aggregated to four lower resolutions:
2.5 arc-minute (approx 5 km)
15 arc-minute (approx 30 km)
30 arc-minute (approx 55 km)
1 degree (approx 110 km)
It requires some work to assemble the results, but a great resource is the Global school-based student health survey (GSHS) from the World Health Organization.
Some other resources:
Country level data is available from Wikipedia
Smoking rates for US states is available at CDC
The US cities with the most smoking are listed at Cities With the Most Smokers
Bilateral migration data is available from sources such as the United Nations Population Division unit on International Migration, Migration Policy Institute, and Migration Data Portal. For example, the 2019 UN dataset for migrant stocks by origin and destination is available as .xlsx here.
Not sure if a portal is useful, if it doesn't have the right data, but here's the Italy Open Data Portal
with 27k+ datasets:
from the Agency for Digital Italy: https://www.agid.gov.it/
If I move away from the first choice countries, Peru or Colombia, my next choice would be India or Pakistan. For India, I did find a WHO report (PDF) that has smoking rates of states, from 2016-2017.
AND, if I truncate the web address, I find a list of available countries:
(but no Colombia or Peru)
This paper has some aggregate rates for 4 cities in Peru (but not useful for me):
Lima, Tumbes, Urban Puno, Puno
Low cigarette smoking prevalence in peri-urban Peru: results from a population-based study of tobacco use by self-report and urine cotinine