Is there a way to find all actions an object is "involved" with? To clarify, say you have ten actions. You want to find all actions that Object1 is affected by. If that object is changed by even a single F-curve in a given action, that counts. Is there a way to do this via code?

If this isn't possible in the current version, I'm also considering a user solution in the form of a naming convention. For example, include the name of the target object in the action name, and that action is added to a list. But I'd prefer to be told that my initial approach isn't feasible before going about it that way.
An object can have one active action, this is the one that is shown in the action editor. All other actions that affect an object can be found in the objects NLA data.

import bpy

for obj in bpy.context.scene.objects:
    ad = obj.animation_data
    if ad:
        if ad.action:
            print(obj.name,'uses',ad.action.name)
        for t in ad.nla_tracks:
            for s in t.strips:
                print(obj.name,'uses',s.action.name)