From Bulbapedia, the community-driven Pokémon encyclopedia.
An index number is a number used internally by games to identify certain things. In the Pokémon games, there are index numbers for many things, most which are not seen other than by the programmers.
Most specifically, there are index numbers for locations, items, moves, abilities, and Pokémon, most of which change between generations. There are a few for each, however, that remain unused, or are filled with "junk" data, such as the famed glitch Pokémon Missingno., or useless items, such as Teru-sama.
Only Generation I had Pokémon's index numbers and National Pokédex numbers not line up, unlike subsequent generations. There is, however, some discrepancy between the index and National numbers, after Generation II. For example, in Generation III, Chimecho is National Pokédex number 358, but its index number is 411. Alternate forms of a Pokémon, most notably Unown in Generation III and Wormadam in Generation IV, also will have differing index numbers to accommodate their differences.