nla editor - meta strips on multiple object base?
I think this add-on may help you to achieve what your are trying to do. Please see the link for a video download and an explanation by "coyhot" the author.

Animation Joiner

Description of the content (from the link above): 


  Join them all !
  
  So, I'm proud to present my Animation Joiner. I designed it with
  dynamic simulation in mind, but I found it could be usefull for
  character animation, too. My goal was to merge animated objects into
  only one mesh, animated by a MeshCache modifier and a PC2 file.
  
  Why a PC2 file ?
  
  PC2 is a binary cache file format, wildly use in production. It can be
  nativaly streamed in 3DS Max and Blender, but can also be used in
  Maya, Lightwave, Houdini, and many others. Because Blender doesn't
  have Alembic support yet, PC2 is for me the best to way to interchange
  animated object between 3D packages.
  
  But when I wrote this addon, I wasn't thinking of interchange format.
  I was thinking of dynamic simulation, and more precisly Rigid Bodies.
  I work a lot with rigid bodies in Blender. And the most difficult part
  of the job is to manage cache files, specialy when you have thousands
  of debris. I dreamed about a technic where you can manage multiple
  debris as easy as only one mesh. And that's the goal of my addon.
  
  Reducing the complexity of the scene
  
  Select your debris, set the path to the PC2 file and click on Join
  Animated Objects. After few seconds, on the next layer, you will find
  only one animated mesh using a MeshCache modifier, streaming a PC2
  file. Now, you can duplicate (linked) the mesh and multiply the number
  of debris without rising the usage of the memory. And you can even
  offset the animation ! If you generate two PC2 files for the same
  debris, you can also crossfade from one Meshcache to another by using
  the Influence parameter.
  
  Because you now have only one object, you can add any modifier on it,
  like a Bevel for instance. But you can also emit particles from all
  the debris really easily. You can even duplicate (linked) this object
  and add a Collision modifier on it. By this way, particles will be
  emitted by the debris, but they also bounce on them ! Try to do that
  when you have hundred of debris ... not so easy.
  
  Same thing for the smoke : you can try to emit smoke from the debris,
  with a duplicated object set as a collider. With only two objects, you
  can see the smoke flowing through every holes in a falling wall !
  
  Reshaping and retiming dynamic simulation
  
  Because you have only one object, you can deform it during the
  animation by using a lattice of even shape keys. In the demonstration
  video bellow, you can see that I tweak the position of only one debris
  because it intersect with another one. You can also emit particles and
  use an Explode modifier, followed by a Solidify to generate more
  smaller debris.
  
  MeshCache can be animated using different options. One of my favorite
  is the one named "Custom". Because, you can timeremap you simulation
  by only creating keyframes, slow it down (the position of each point
  will be interpolated !) if you want to create a slowmotion shot of a
  falling building, without the need to simulate it at an higher
  framerate !
  
  Maybe I'm wrong, but I think it's easier for Blender to manage fewer
  objects with an high polygons number than a lot of objects with fewer
  polygons. I think it's because of the dependancy graph. So, if you
  take a look at the first image of this post, 4 millions polygons are
  used to generate debris of all the buildings. But I can run the
  animation at 3 FPS and it only take 500 Mb in RAM, because of the
  instances used in the scene. And last but not the least, Cycles start
  almost immediatly when I launch an interactive rendering !