You have to use the Pokeflute Radio Channel on the sleeping Snorlax near Vermillion City, then you must go through DIGLETTS CAVE. When you reach the end of DIGLETTS CAVE, go south. You will eventually reach Viridian City but you must go through Viridian Forest first. (The Pokeflute Channel can be heard by moving the glowing circle on your Pokegear radio to the very top)
You can get it in Golden rod city in the bike shop on heartgold.
Olivine city.
No, you can't.
Goldenrod city and Lavender city
There is no saffron city.
you have to surf from olivine city
There is no such city in the Pokémon canon.
In heartgold: bug catching contest (above Goldenrod City)
you go to the city cianwood and speak to the baby
pewter city.
Goldenrod City
diglett cave