You can get it at Slowpoke Well, or Celadon Department Store
Well a blastoise knows rain dance and you don't need a Pokemon that NEEDS to straight away know the move you can really find the TM rain dance and i don't really know why you need the move rain dance because it isn't really a good move that a Pokemon should know but if you want to then i may as well help you with anything.
In Pokemon Pearl, the TM for Rain Dance does not occur somewhere the player can find it. Instead, they must collect ten blue shards and trade them with the mountain guy outside of Pastoria City for the TM.
Route 213
I don't remember... I lost my Pokemon Emerald Game.
it increases the duration of rain dance.
Probably Thunder. The thing I do is send out a Pokemon with Rain Dance. Then, when it starts raining I send out Raichu and make it use Thunder. Pretty effective, since Rain Dance lasts for a while.
at a rain bow
Go to the underground and dig in the walls to find shards. It may take a while but you can get TM's from someone. They are sunny day, rain dance, sandstorm.
Most Water type Pokemon can learn Rain Dance, like Gyarados, Marill and Blastoise. Some non-water types can learn it too, like Solosis, Tailow and Woobat. If you're asking what Pokemon learn it while leveling up, it includes Pokemon like Castform, Milotic and Tympole.
In the abandoned ship outside of slateport
In the UK: if you do the rain dance then everyday you do the rain dance if you want it to be sunny do the sunshine dance
I used rain dance to boost water type moves, use ludicolos rain dish, use kingdras swift swim and let all my Pokemon with thunder certain to hit