Hi,
Yes, It's a Unity restrictions actually, a Prefab can not reference directly objects from the scene, it can during runtime, but it can not store them as a prefab within the "assets".
to achieve this. Either maintain global variables and then your prefab read that global var, that works. I much prefer a more versatile approach using events. At some point you will have to instantiate this prefab, when you do, simply call that prefab passing on information about that gameObject reference, and mayn other things as well if required. The opposite works too. When your prefab FSM starts, have the prefab go an get the info it needs. It can do either by finding the gameObject using the action "Find" for example.
bye,
Jean