BIOS - Any bios that allows automatic identification of disk drive geometry and allows you to select the sequence of devices to boot from should work. I successfully built systems based on both PhoenixBIOS 4.0 and AMI Plug and Play Flash BIOS.
DISKS - One fixed internal disk dedicated to Linux. (first disk) One Removable drive enclosure, with any number of drives. (second disk)
Since a lot of this HOWTO has to do with disks, from now on I will generally use the terms "first disk" and "second disk". The first disk is the one initially accessed when the machine is turned on, commonly known as the boot disk. It has LILO installed in the MBR and is dedicated to a single operating system, specifically Linux. The second disk is a removable disk that contains one or more alternative operating systems which may or may not have a boot loader in the MBR or elsewhere.
There are no other hardware/firmware requirements. Any other requirements would be dictated by the specific O/S. For instance, even though you could install it, Solaris 7 is not going to run well on an old 90MHz machine! The configuration and methodology described here should however work equally well regardless of the CPU speed or other installed peripherals.
Operating Systems - I have tested this process with Linux (Redhat and Suse), Solaris 7, BeOS, Win 98 and even MSDOS 6.22. I see no reason why it wouldn't work with Win 95, O/S 2, or FreeBSD. I am not familiar with Windows NT or 2000 so I don't know how they would react to this kind of setup.
Boot loader - I used LILO on the first disk and BeOS bootman on the second disks. I used LILO on the first disk because it was the only boot loader that allowed me to select the MBR on the second disk as an acceptable boot partition. Any relatively robust boot loader should work on the second disk.