The difference is that the lines use a different format for the instruction set. The expanded instruction set required longer words (program space). So the instruction size is different. PIC16 was 14 bits per instruction word. PIC18 is 16 bit instruction words- a few instuctions also need two words, GOTO for example stores part of the destination addr in the second word.
PIC16 has only 8-bit math, thus we call it an 8-bit core.
PIC18 is mostly 8-bit operations, though there's an exception we now have a 8 bit x 8 bit multply that makes a 16-bit result. Still, this is termed an 8-bit core. The Working Registers are 8-bit.
24F/dsPIC30/33F series are 16-bit cores in every way. They have a greatly expanded instruction set and different instruction length once again, 24 bits per instruction word now, but again that doesn't change what we call the core. It's a 16-bit core because all the math, AND/OR, and data move operations have a mode that work on 16-bit data words. The Working Registers are 16 bit long. It also has a 16bitx16bit=32bit multiply, a 32-bit Move, and for the dsPICs a pair of 40-bit Accumulators, but we don't call it a 32-bit core just for that.
Yes a core with 24-bits per instruction can't fit as many instructions into 1K of RAM as 14-bits per instruction. These later cores tend to have a lot more program ROM, and often a given task can be done in quite a bit fewer instructions so it may come out smaller. It'll come out faster for sure.