I may be wrong, but at my thought, initrd is only used to load additional kernel modules "before" the boot (mean before init is call), you can't use initrd to mount your cdrom. Of course if you want to mount your cdrom at boot, you might need to load the iso9660 modules (which is called isofs) if it is not included in your kernel, but the actual mounting will be done by init (more exactly probably by some boot-up script called "localmount", the mount configuration lie in /etc/fstab)
_when_ are you trying to increase your initrd ramdisk size? And _why_ do you want to do this? Unless you get some "not enought memory" kind message, which is very unlikely, I doubt you need to do this. As initrd is only used to load modules, 4MB should be far enought. There is some options in kernel to increase your "default" ramdisk size but I'm not sure it apply to initrd anyways.
It does if the filesystem stay mounted and it may be cleared from memory if the filesystem is unmounted. "lsmod" would tell you. But I don't see why this matter, as kernel will (should) if you try to mount the filesystem later (you may have to give the filesystem type with the -t flag or to put it in fstab).
Note it would be very useful if you could tell us what you are tryign to accomplish exactly... initrd is not very useful these days as the computer have more and more ram, I don't see why someone would want to save some miserable kb modularizing some filesystem modules instead of uncluding these in kernel, which is far more easier to manage. Unless you want to build some embedded system, I doubt you need initrd.