From Bulbapedia, the community-driven Pokémon encyclopedia.
Each item has a number used to identify it in any game. The following list enumerates them according to the way they are stored in any Generation I Game Boy game.
The names of items are stored in the ROM of Red and Blue at offset 0x472B with one byte for every character. An additional byte (with value 0x50) is used to tell the game that the next item belongs to the next index number.
Invalid items (adjacent names)
The names of items end at offset 0x4A62. Following on directly from offset 0x4A63 are a list of floor names which are stored in the same format as items, meaning that they can be forced to appear as items, although they do not have valid effects and can freeze the game when used. These names are used by lifts and are retrieved from the same ROM location, meaning there is nothing in the game to suggest that these would once become real items.
Proceeding the list of floor names (0x4A92) are a series of unused names written in Japanese, ending at (0x4B08). Although these names do exist in the English Red and Blue, the names are illegible because the character table for the localised Generation I games is incompatible with Red and Green. The names may have once been part of multiple lists. Like the list of floor names, they do not have valid effects when forced as items.
Other names appear onwards from (0x4A92) before the names of HMs and TMs, appearing as glitch items. Whereas some glitch items have invalid names, others appear with names such as the name of the player's rival.