Since it needs to fit 512KB I assume it's meant for A4000...
I made some time ago a custom Kickstart for A4000 that contains every module from Kickstart 3.1 plus the following updates/additions:
- Exec 45.24 (instead of 40.10) from OS3.9 BB4
- BootMenu 44.7 68020 (instead of 40.5) from OS3.9 BB2
- Console.device 44.10 (instead of 40.2) from OS3.9 BB3
- Datatypes.library 44.48 (instead of 44.47) from OS3.9 BB4
- Filesystem.resource 45.10 (instead of 40.1) from OS3.9 BB2
- FastFilesystem 45.16 (instead of 40.1) from OS3.9 BB4
- Icon.library 46.4.220 (instead of 40.1) from OS3.9 BB4
- RAM Handler 44.24 (instead of 39.4) from OS3.9 BB3
- SCSI.device 44.2 (instead of 40.5) from OS3.9 BB3
- Shell 45.27 (instead of 40.2) from OS3.9 BB3
- Trackdisk.device 40.2 (instead of 40.1) from OS3.9 BB4
Everything fits just fine on the 512KB Kickstart ROM except:
- Workbench.library 45.131 (instead of 40.5) from OS3.9 BB3
... which can be easily be put on LIBS: of your Hard Disk/Floppy Disk and run just fine.
I don't understand what do you mean by not wanting to loose functionality. Workbench.library AFAIK is only used for Workbench and not Games/Demos etc.
Since booting workbench means... using a floppy disk or hard disk... I don't see anything wrong by loading the workbench.library from the LIBS: folder of an hard disk or floppy disk accordingly