Many models sharing the same animation sequence?
The key to sharing animations between objects is actions. An action is a sequence of animation keyframes that is linked to an object. The Action Editor is a sub-editor of the dopesheet.

When you have two or more objects that you want to share an action, select the new object then select the action in the action editor.



When you play the animation you will find that the two objects will now move in unison. There are two ways to adjust this, one is to make the animation unique to the object by clicking the number next to the Action Name. This duplicates the action, similar to duplicating a material etc. making it unique to the object allowing you to adjust the frames that the action is performed on.

Another option is to use the NLA Editor to adjust timing of the action.



Here you can see that metarig is playing action LiftLeg from frame 1, metarig.001 also has the LiftLeg action associated with it at frame 1. By clicking the down arrow icon (the arrow will be in 2.71, in earlier versions it looks like a snowflake) in line with metarig.001's LiftLeg action it will turn into an NLA track as seen with metarig. Now you will be able to adjust the action timing.

You can easily drag the action in the timeline to alter the start frame, but if you open the properties sidebar (press N) you also get access to more options like scale, repeat count and blend mode. Scaling allows a character to perform the action quicker or slower than other characters. You can have several actions for an object in the NLA at the same time and choose how they blend together, so you can have you character walking and then have a wave action override the arms at a given time.



Here the metarig repeats the walk cycle 5 times and just before the third time he starts waving.

If your using the game engine then you can use an Action actuator to play a specific action when you want it.