The Name Rater is in Slateport City, in the building to the left of the Pokemon Center.
He's in Slateport.
go to the city before mavlie city stateport
the name rater or "nickname man" is in lavender town.
when your Pokemon likes you.
go to a man in purple in a cave.
lilycove city
in eterna city
nothing
you have to use a itemfinder
you can nickname your Pokemon in eterna city, located in a house on the right side of the pokemart, when you enter you'll find an old man
Pokemon Ruby has Pokemon that Pokemon Sapphire does not and Pokemon Sapphire has Pokemon that Pokemon Ruby does not.
Eterna City I think
talk to the fossil man west of fallarbor town