Hi,
you can access a prefab from a pool via its name if I recall, which means you can overcome this problem of referencing other objects of the scene within the prefab. Note tat this restriction only apply DURING editing, at runtime, you can maintain references of objects in a prefab, so you can create a routine when a prefab starts to find another prefab or something like that, or store that reference in a global var and access it in your prefabs.
Bye,
Jean