How can I actuate a different object than the one who's controller calls the script?
Internals

A controller is not supposed to access the internals of another object. This leads to hard to investigate dependencies and should be avoided. The BGE supports you be not allowing this.

Communication

The requester object can communicate with the serving object that it active/deactivates the actuators by itself. The serving object decides how to do that.

Example: A selection object marks selected object by setting a property at the selected object.

The selected objects play an action when the property is set/not set.

The selection object does not know how the select an object but does not care how it reacts on it. The selected object does not care how it was selected, but knows what to do in this case.


Selection operation and Selection presentation are separated
One selection object is performing the selection operations
Each selectable object can perform individual selection presentation.
The game designer defines the interface between selection object and selectable objects.


Passive object

The slave object can be a passive object (no own behavior towards the current aspect). The master object performs all operations on the slaves. The build-in logic bricks do support this behavior. 

Example: A selection object adds marker objects (halo) to selected objects.


Selectable objects do not need own selection presentation logic.
The selection presentation has to be exactly the same on all objects.
The game designer defines the interface between selection object and selectable objects.