The Name Rater is a character within the games who can rename your Pokémon. He does so for free, but cannot rename Pokémon that you receive in trades.
Kanto
The Name Rater can be found in Lavender Town.
Johto
The Name Rater can be found in Goldenrod City.
Hoenn
The Name Rater can be found in Slateport City.
Sinnoh
The Name Rater can be found in Eterna City.
Unova
The Name Rater can be found in Castelia City.