After doing research in the forums I see that it is a common question...
"How do I create an instance of an object dynamically (by text name) and then get a reference to that instance to use it?"
Normally in computer languages this can be done synchronously (create it and immediately use it).
However this can also be done asynchronously (start the creation now...and later it will be finished).
Construct 2 uses the asynchronous method.
This however causes complexity that seems out of place in Construct 2.
<font color=green>In the tutorial there is an example of doing the same thing synchronously as well.</font>
Many people have struggled with how to get a handle on this.
Plugins have been created to try to help.
Here is a tutorial that contains a capx (https://www.scirra.com/tutorials/788/asynchronous-callback-object-creation) that shows a method to handle this with what is known in the software development world as "Callbacks".
It is implemented entirely with Construct 2 Personal / Business features.
The way it works is described in detailed comments in the capx. Basically you create an object by calling a function called "New" and pass it some parameters via Dictionary objects that includes the text name of the object type, the name of the Callback function you want called after the object has been created, and any parameters you want passed to the Callback function.
The Callback function gets the UID of the new object (as Function.Param(0)) and all the additional parameters you specified (as Function.Param(1)).
With this you can do a Family > Pick instance with UID or Pick an instance of the specific type and then just do all the actions you would have normally done.