The best way to avoid drag/droping of various game objects in nodes and to do things dynamicaly, is to instead of providing direct references in nodes, to create and use blackboard variables from where the nodes will read/write from and to.
This way you have all your references within a single place (the blackboard) and you can also easily modify the variables in runtime with some simple functions. For example:
1
2
3
4
blackboard.SetDataValue("myFloat",12.5f);
blackboard.SetDataValue("target",someGameObject);
You could initialize the blackboard variables in some sort of initialization if you want to alter them dynamicaly.
As an effect all nodes reading from those blackboard variables will use that new variable value.