Could you use pointers? I know on psp rips I made back in the day where the memory sticks where extremly small you'd just point to smaller files. Example there was a dirt game where the game had different engine sounds for all the cars. I found the smallest sound sample and just made every car only use that sound and removed all the rest of them. Saved a huge amount of room.
So, you would need to decompile the Program roms to even consider using pointers and even then, I think you misunderstand what *pointers are. What you are talking about are Symlinks, where a file on the PSP ISO points to another, not that close to the same thing programatically, unfortunately.
The NeoCD has finite amounts of P,V,C RAM onboard (sorry its been a while since doing any Neo dev stuff, can't give you exact numbers etc), and even then its not as simple as matching an AES/MVS game with similar ROM sizes, because the NeoCD data is broken down into seperate unique (per game) character/stage/music/effect files etc.
Say you try and use KOF98 as a base for a KOF2002 CD port, firstly you would need to break down the individual KOF02 roms into their seperate character/stage/sounds files like the NeoCD expects (Good luck). Even if you could somehow manage that without source, then you would need to modify the character select to point to which character files were chosen (Good Good Luck), and then hope that each of the 3 characters fit into the C ram. if they don't, you would have to edit the C data, inside the broken down character files, and remove specific frames of animation but then you'd change the location of the frames so how do you know what is being loaded, unless you trimmed the existing frames and... And no, unless you have a NeoCD SDK, or Crazy amounts of Time or Intelligence, its basically a fools errand... (And saying this, I would love all Neo games to be available on Neo CD, its just not going to happen).
EDIT: Before you elite hackers come at me asking how the good neocd ports exist then?!!?! Well a lot of the initial NeoCD games, were small enough to basically do a "LOAD ALL GRAPHICS FROM CD" then "LOAD ALL MUSIC SEQ FROM CD" then "LOAD ALL SOUND FX FROM CD", "LOAD PROGRAMMING FROM CD" to the NeoCD's available RAM and then the Neo CD would essentially act like and AES or MVS, they didn't need to access the CD again (all data was in RAM, some games needed the CD for CD AUDIO). Later games like KOF 94/etc, would load data when needed, hence all the loading times and the broken up files rather than loading whole roms. WAH WAH WAH