There are many areas you can find Rare Candies at, and if you have a Pokémon (level 21-100)with the ability Pick-Up, there's a small chance you'll get it.
The following locations are where you can find rare candies (not counting pick-up):
Johto: Route 34, Violet City, Ecruteak City (With Dowsing MCHN), Olivine City (With Dowsing MCHN), Radio Tower (Earn 25 Points at Buena's Password), Mt. Mortar (With Dowsing MCHN), Mt. Mortar, Tin Tower, Whirl Islands (With Dowsing MCHN), Whirl Islands (With Dowsing MCHN), Mt. Silver (With Dowsing MCHN), Shining Lighthouse
>Kanto: Route 27, Route 28 (With Dowsing MCHN), Vermillion City (Fan Club President), Cinnabar Island (With Dowsing MCHN), Indigo Plateau (With Dowsing MCHN), Cerulean Cave (With Dowsing MCHN), Victory Road
But as I said before, if you have a Pokémon with the Pick-Up ability and it is at least level 21, you have a chance of getting the item picked up while walking around the region(s).
Source: Serebii