I ran into this exact same issue when I was trying to create a rollback install with CRYPTO for a sort of appliance I develop/manage for my company. We only have remote access with console and remote hands aren't easy to get so when upgrading it'd be nice to have a rollback in case something happens.
You can definitely boot a kernel off a different partition, but the kernel still assumes the root disk is 'a'. You have to tell the kernel to ask you for the root partition with "boot -a". Or you can compile your own kernel with the root disk hardcoded as it mentions in this post: http://www.undeadly.org/cgi?action=article&sid=20110530221728 But I've come to the same conclusion that most people would say on this list that its just not a good idea. I definitely don't plan to put that practice in production. But if its just a personal use laptop, maybe it'll be OK, up to you.