I want to be able to switch from CM7 to CM9 and vice versa without losing my apps and data everytime. Is it possible to make a dualboot?
Making a dual boot is possible, there's a nice app for that end available from Google Play Store.
Boot Manager is Android's first multi-boot application. It allows you to install boot ROMs from your sdcard and boot between then with just a reboot. The application acts as your recovery for your sdcard slots. Install your kernels, themes, and ROMs all through the app and use your normal recovery for your phone ROM only.
Unfortunately, I haven't found any supporting information if this will or will not share apps between ROMs, but at the very least it solves the dual boot problem.
Since apps when installed on the SDcard still leave a portion of their code on the main installation directory of the current ROM, it doesn't seen possible to have apps shared across different ROMs.