Since your second hard drive is a completely different hard drive, you can make up to 4 primary partitions on it. The number of partitions on your hdb drive is independent of your hda drive (
here is a good article explaining primary, extended, and logical partitions). Just make sure to set the jumpers right on the drives -- hda to be master, hdb to be slave.
As for booting, I'd highly recommend using the
GAG bootloader. It's what I personally use to boot Ubuntu, WinXP, Slackware, and FreeDOS. GAG's a very attractive, easy to install/setup/use bootloader that's entirely graphical. You can then install Slackware's bootloader into its root partition (to do that, rerun liloconfig, set it up as you usually do, but make sure to select root partition instead of MBR for the install location), and when you install FreeBSD just make sure to install its bootloader to its own root partition on hdb. Then when you reboot, just add the operating systems in GAG that you want to boot, save the configuration, and voila! Dual booting paradise!