I might be able to help, a little bit. I recently figured out how to do what I call "RAMboot", where the entire OS gets copied into a tmpfs ramdisk (not compressed). The result is just insanely fast.
In order to do it, I (temporarily) modified /usr/share/initramfs-tools/scripts/local. There's a line in this script where the root partition is mounted. I commented out that line, and replaced it with my custom script code to create the tmpfs root partition and untar an OS image into it.
After modifying /usr/share/initramfs-tools/scripts/local, I created the custom initrd.img with:
mkinitramfs -o /boot/initrd.img-2.6.18-6-686.ramboot
And then I copied back the original /usr/share/initramfs-tools/scripts/local. It's important to copy back the original, because if you don't then it will be used the next time the kernel is updated.
In GRUB, I created an entry based on the normal hard drive boot entry for "RAMboot". This custom entry used my custom initrd.img. Thus, I have the option to either boot up into my normal hard drive install, or I can boot up into the "RAMboot" OS. I boot into the normal hard drive install in order to add/remove software, configure things, and then create a new OS image based on it.
Here are my modifications to /usr/share/initramfs-tools/scripts/local:
Code:
[...]
########################################ramboot
# FIXME This has no error checking
# Mount root
### mount ${roflag} -t ${FSTYPE} ${ROOTFLAGS} ${ROOT} ${rootmnt}
################################ mount the filesystem
mkdir /ijkijk
mount ${roflag} -t ${FSTYPE} ${ROOTFLAGS} ${ROOT} /ijkijk
################################ create ramdisk (note hardcoded size)
mount -t tmpfs -o size=400M none ${rootmnt}
################################ copy the files over to the ramdisk
cd ${rootmnt}
tar xf /ijkijk/snapstrip.tar
################################ umount the filesystem and set to spin down
umount /ijkijk
hdparm -S 6 /dev/hda
########################################ijk
[...]
For my purposes, the OS image is a non-compressed tar archive.
For your purposes, the OS image will be a squashfs file. You'll want to mount the "host" file system, perhaps /mnt/sda5, which contains the squashfs file. Then you'll mount the squashfs file system, and then merge it in (with what?) using unionfs.
Hopefully, I've given you some ideas of how to go about implementing your concept. The basic idea is to modify the initramdisk image with your own custom script for mounting the root partition.