Microchip has some great selection tools where you just tick some boxes and it lists all the devices matching your selections. Pincount, I/O, RAM, FLASH, package, communications, timers etc etc etc.

I gave it a go feeding it 18-pins and at least 4k memory - it popped up with the 18F1330 which has 8k of flash. It's not 100% pin compatible with the 16F648 but Vdd, Vss, MCLR, PGD, PGC, TX, RX (and several others) are all in the same place. Obviosuly I don't know your application or circuit but I'd be surprised if it couldn't be made to work. Take a look at it.

/Henrik.