Here's one possible approach (which I haven't tried myself):
- Create a TRS/80 CPM boot disk
- Transfer BBC BASIC to the TRS/80 separately
Creating a TRS/80 CPM Boot Disk
David Keil's TRS-80 Emulator is able to use both emulated virtual floppy drives, and actualy hardware floppy drives, using the host PC's floppy interface. It's system requirements are relatively moderate: a 75MHz Pentium is enough.
There are a number of different online archives of CP/M software (e.g. here, here, or here). Hopefully one of these will have a veriety of CP/M for the TRS-80 that will suit you.
I don't think the emulator supports transferring files from the host file system to a virtual (or real) floppy image. But there is an alternative.
Transferring BBC BASIC to the TRS-80
CP/M machines were notable for using numerous incompatible floppy drive formats. Rather than try to get two different flavours of CP/M to read each other's disks, I suggest ditching the floppy drives altogether for this step, and using RS-232. (While it wasn't included on early Model 4's, I believe all 4P's had it included as standard.)
If you're a dab hand with a soldering iron, you should be able to fashion a serial cable to connect the TRS-80 to either your Commodore or PC. (Pinouts and bad rate settings are listed in the Model 4P Techical Manual, page 142-143.)
On the software side of things, you could knock something simple together to transfer your file across, though it would mean using Microsoft Basic for a short while longer.*
Alternatively, Vintage Volts made a video documenting how they transferred files by XMODEM from a PC to a TRS-80 using LS-DOS' comm, and TeraTerm on the PC. It's quite detailed (38 minutes!) and is available on Youtube.
As for integrating BBC BASIC with the CP/M boot floppy itself, I have no experience of what would be needed for this final step, so I'll leave it as an exercise for the reader.
*I've done something similar with a BBC Micro, who's OS supports accepting keyboard input from the serial interface. On my PC, I wrote a simple perl script that would parse a file and create BASIC statements such as ?&BEB6=&B0 to write the file to a sequence of memory locations. I piped these statements out over a serial cable, and they were executed by the BBC Micro.