I too read a little of the datasheet for the mega1280. Seems that program memory addresses point to 16 bit words, as all AVR machine code instructions are either 16 or 32 bits wide.
So the program memory specification of 128KB is the same as 64K, 16 bit words, so a 16 bit address pointer (unsigned int) should cover all the flash memory of the mega1280. The next size larger Mega chip probably uses the extended address bit(s)? you mentioned to cover the larger program memory space they have.
So I guess we have come to the same conclusion, 16 bit pointers work fine for the mega1280 chip. Now I wonder if that's actually correct. ;D
Lefty