From Bulbapedia, the community-driven Pokémon encyclopedia.
Each location in the Generation III games has its own identification number used internally by the game, mostly to display where a Pokémon was caught. They are enumerated here, in order.
These identification numbers are only used in Generation III, and are not used to determine the location on the status screen of a Pokémon that is migrated to Generation IV—this is instead generated based on the game in which the Pokémon was created, being "Hoenn" for Ruby, Sapphire, and Emerald and "Kanto" for FireRed and LeafGreen.
Locations with index numbers up to 087 appeared in Pokémon Ruby and Sapphire, those with index numbers between 088 and 196 appeared in Pokémon FireRed and LeafGreen, and those with index numbers beyond 197 are exclusive to Pokémon Emerald. All games, however, have the locations with index numbers 254 and 255, which correspond to in-game trades and "fateful encounters".
Due to not having been programmed into the games, Pokémon whose "met location" corresponds to index numbers above 087 will display "obtained in a trade" rather than the location name in Ruby and Sapphire. The same is true for Pokémon in FireRed and LeafGreen for Pokémon whose met location index is below 088 or above 195; however, in the trade center, unlike in Ruby and Sapphire, if the trade partner is the original Trainer of the Pokémon whose location does not exist in FireRed and LeafGreen, the game will display the met or hatched location as "Somewhere". In Emerald, however, any Pokémon that was not transferred from Pokémon Colosseum or Pokémon XD will display the correct met area.
Locations shared between Ruby, Sapphire and Emerald, and FireRed and LeafGreen, such as Navel Rock and Altering Cave, have two separate index numbers, one for each region.