Hi,
Prefab reference works within the prefab hierarchy itself, so you can reference a child of a prefab, and that reference will be properly carried over as you instanciate this prefab.
Now, a prefab willing to reference another object in the scene must be set at runtime.
either by searching for that object, or by listening to a event fired by thatobject and store the reference of the sender.
also, you can store objects in a global fsmGameObject, and that becomes then accessible by anything.
bye,
Jean