There are really three issues:
- Boot loader location -- Boot loaders may be located on the primary disk's ESP, on the secondary disk's ESP, or on non-ESP partitions on either disk. Officially, the EFI spec allows the firmware to launch a boot loader from any ESP, but in practice non-ESP locations also often work if the partition in question uses FAT or if you've got a suitable driver installed. rEFIt, rEFInd, and GRUB 2 can redirect the boot process to boot loaders stored on other than the main ESP, although they need drivers to read non-FAT (or non-HFS+ on Mac) partitions. Some boot loaders, such as gummiboot, are limited to supporting the partition from which they launched, which could necessitate putting all your boot loaders on one ESP.
- OS installation location -- An ESP-resident boot loader must necessarily support launching an OS that's primarily resident on some other partition. In principle, there's no reason this partition can't reside on another physical disk entirely, and I don't know of any practical impediments to doing so. Thus, you can install a boot loader on the primary disk's ESP and have it boot your main OS from the secondary disk.
- Kernel location -- Linux boot loaders such as GRUB Legacy and GRUB 2 can load Linux kernels from locations other than the ESP, and in principle this other location can be a physically separate disk. In theory, ELILO can do the same, but I've never managed to get this to work. A kernel configured as an EFI stub loader must either be stored on an ESP or be loaded by an EFI that's less fussy about this or by a boot manager like rEFInd that can redirect to another partition or another disk. Thus, your kernel might need to be stored on the primary disk's ESP in some configurations. (Ubuntu uses GRUB 2 by default, so a standard Ubuntu installation is pretty flexible in this respect.)
In the end, there are few major limitations, at least in principle. You might run into some issues with buggy firmware implementations or if you use certain boot loader combinations, but you should be able to overcome these issues by proper placement of your boot loader and kernel files.