Is it possible to use one action for multiple objects?
Using armature for this may be a good solution. 


CREATING AN ACTION FROM SCRATCH

Add an Armature-->Single Bone, duplicate it in Edit Mode (Shift+A) and place each bone on each separate object. Select the first object, then the second one and finally the Armature in Object Mode, then press Ctrl+P-->With Automatic Weights.



Keyframe the movement for each bone and make an action of it in NLA Editor. You now have one action for two separated objects.



USING THE EXISTING ACTIONS


In this case I've got three objects with three different animations/actions. I'll merge these into one single action using an armature.



Add Armature-->Single Bone and snap it to the origin point of the first object. Snap the cursor to the second object in Object Mode (Shift+S-->Cursor to Selected), then select the bone, enter Edit Mode and press Shift+A. It'll snap next bone to the second object. Repeat the same process with the third one as pictured below. Rotate all the bones in Edit Mode by 90 degress so they all stay horizontal.


In Pose Mode select the bone, go to the Bone Constraints header and give it a Copy Transforms constraint. Set the bones targets to the coresponding objects as pictured below. Now the bones are following the objects' animations.


Select all bones in Pose Mode (Shift+RMB), then go to Object Mode-->Tool Shelf (T)-->Animation-->Bake Animation. Check all the checkboxes in a window there, and set the Bake Data type to Pose. After clicking OK the new action in a NLA Editor'll appear.



Now you have the copied movement of the objects baked into the keyframes of the armature, so you don't need the objects' animations anymore. Delete each one in a Dope Sheet Editor.


Finally being in Object Mode select all the objects, then the armature and press Ctrl+P-->Set Parent-->With Automatic Weights. Push down an action in NLA Editor to create an action block on a strip.