I'm not sure what you describe is possible. If it is, you'd need to significantly restructure CP/M, recompile it, and work out a non-standard way to start/activate it.
And note that 2.2 does NOT support bank swapping, only 3.0 (Plus) does that. There is the ZCPR etc system, however, which might be considered as CP/M 2.2++, that might do some?
CP/M normally uses the whole computer. I'm not sure it could co-exist with AMSDOS, certainly not in it's standard form. And which BASIC are you referring to when you refer to a BASIC remaining in the base memory space (with AMSDOS)?
In operation, a CP/M prog expects to be in RAM from &H100 upwards. A standard CP/M prog could not operate anywhere else. Your 'wrapper' would need to allow this. The prog would then implement much of it's functionality via BDOS and BIOS calls to the CP/M services, the BDOS via a call to &H0005, and the BIOS calls (in the cases where they are called directly rather than via the BDOS) via &H0000. Your wrapper would need to support those calls, although they could THEN be directed elsewhere, maybe even via a bank swap.
I'd need to know a LOT more about what you were thinking of doing before I could comment further.
Geoff