a) Bits of the executable don't look for files, but go to particular sectors and tracks expecting data, so we'd have to disassemble parts of the executable and change these locations, and
b) We can't create PSOne data lookup-tables / filesystem data from scratch.
a) Those allocation tables are incredibly easy to locate, some even stored in the most obvious locations (FIELD.BIN contains the whole thing for the FIELD folder, just like ENEMY1-6 indexes are stored inside BATTLE.X). Most of them, if not all, use a simple lba+size (sometimes padded to sector) format.
b) It's really possible to, but not necessary. I've expanded the hell out of some overlays and data files, and guess what? The game doesn't refuse to work with them. Models follow the same procedure.
If you know differently, though, I'd be very interested to hear how I could exceed the limits of the KERNEL.BIN.
You mean the RAM limits or size on disk? I haven't analysed the first case (even though it should be a static array, meaning it's pretty hard to expand), but the second is very possible to do and my personal tools already take care of it.