I would *strongly* recommend you do not write plugins that directly access other plugins. It breaks encapsulation and is brittle. For example we may go ahead in future and change how the Array object works to fix some bug or change some feature, and this will break everything that depends on it like this.
Also, it's less useful for users. You force them in to a specific workflow. For example if you at some point run an action in another object, then the user is locked in to that dependency and can never alter it. If on the other hand you run a trigger, then the user can place an action in that event to do that task, or they can do something else, perhaps using a different third party plugin or some alternative feature. It's also easier to understand since you can see what's happening, instead of there being under-the-hood invisible magic causing actions to run unexpectedly. Consider that in the entire C2 engine, actions never run except where they have been added visibly in the event sheet, and a plugin that uniquely breaks that rule will be uniquely surprising. Users can also more easily test by adding logging to triggers, temporarily disabling the action, etc.
Yes it's possible, but you will design inflexible, breakable plugins - please think of other ways to design your plugin.