Hi,
GetOwner will return the gameObject that this fsm is attached too. This is what you want.
GetFsmGameObject will simply allow you access a Fsm gameObject variable from another gameObject or fsm.
now, for identification, I would think that the best way is indeed to keep track of them, maybe in a list, with arrayMaker, or quite simply, with a Fsm, that is responsible for storing and managing access to it by id. I do that regularly actually, and I call these fsm "META"
so in your "Meta" fsm, you have an int "ID", and other gameObjects can simply query for that id. Now one limitation of playmaker currently, is that you can't really get a response when you fire an event. I would really enjoy the ability to establish a two way communication system in playmaker, say send an event "ARE YOU JEAN" and the action that sent that event could get a result, a bool in that instance, and the receiver would have the ability to return true or false.
but, right now, you will have to store the id of the object you want to check, and do your thing locally on the fsm that wants to check for a given gameObject id.
bye,
Jean