You get the rainbow wing from the radio tower director after you get rid of team rocket. (Same thing in soul silver).
Chat with our AI personalities
Talk to an old man in pewter city.
the fog badge and the rainbow wing
In navel Rock
you have to defeat team rocket in goldenrod city and get the rainbow wing from the director
You receive it after rescuing the Radio President