You're going to find the code is the same across just about the entire family is the same, but the 'configurations' will be different as appropriate for the actual chip you are using.
For example, I did all my development using what was called the 9S12Badge. This device had a 9S12DP256B part on it. When I wanted to develop for a project, I 'wire wrapped' in the badge for the project. Then, wheh the first batch of boards were made, using something like a 9S12A128 or whatever, I would just mount down the new chip and adjust my configuration to match.
Where things can get tricky concerns things like overlaps of EEPROM, registers, and SRAM. Or using I2C vs bit bang. Or page management of the flash, for example.
And some parts have other considerations. For example, a pin restricted part may need pins that are not bonded out to be treated a bit differently in software, to make sure they are benign, even though you didn't necessarily have to do that on parts that had the pins bonded out kind of thing.
Yes, there are always issues, but the parts of a family are all 'generally built from the same building blocks and that shouldn't be an issue.
Mike