For example you have two GameObjects, Object A and B.
Arraylist with a reference "inventory_items" is on Object A.
If both GameObjects are active and Object A will be frequently used, on Object A, in the start state you do a "Get Owner" and store Object A as a global variable. Now on Object B to get that array all you have to do is use any arraylist action, and in the array owner select the Object A global variable, and put reference "inventory_items". Also as marv suggested, to persist a gameobject through scene, you want to make it dontdestroyonload
Now... You don't want to use global variables for every GameObject in the game... So for less important objects u can tag them, and use gameobject.findwithtag, and in playmaker I believe it's Find GameObject, but instead of putting the name in, you put the tag in.
Also an interesting tip: If you want to get a deactivated object, you can use get child instead of find gameobject. In my app I use this quite frequently because it's only one scene, but it has +10,000 levels and if you try to use find game object on a dedicated game object it will simply not find it.