If I remember correctly, there's a "mirror memory" in FireRed.
Essentially, every game frame, that stuff is copied into the Palette RAM and VRAM.
I can't remember this offset, though. Sorry. :\
BUT! You can probably find it by searching through the memory for a copy of the first few entries in the palette. ( Cheat Searcher on VBA - or do a memory dump of the entire memory and search with a hex editor ).