You can create instances using animated master objects (see Using Animated Master Objects), then control them using the Control Instance Animation compound. This compound is like a playback control for how you want the instance's animation played during the particle simulation.
Any frame of its animation can then be instantiated independently. You can have animation offsets to be able to display each instance at a different frame of its animation during the particle simulation. If you're doing a crowd, for example, each character can walk at different paces using the same walk cycle. This animation is displayed both in the viewport and in the rendered animation.
Two simple animated rigs are used as master objects for the particles: one hopping, one rolling. They flow around the cylinder which is set as an obstacle (Flow Around Surface compound).
To controls the particle instance's animation
Set up the particle instance object in the ICE tree as described in Creating Particle Instances Using the Set Instance Geometry Compound and Using Animated Master Objects.
In the Set Instance Geometry property editor, you can select which frame of the instance's animation you want to use as the starting frame for each particle. This means that all particles are emitted using the same frame of animation.
Choose the Particles After Emission Control Instance Animation command from the ICE toolbar.
This command adds the Control Instance Animation compound to the ICE tree, plugging it into the Execute port of the Simulation Root compound.
The tree below has a number of other compounds that are used to randomize the instance's size and group index.
In the Control Instance Animation property editor, set the instance's Animation Start and End Frame values that you want to use in the particle simulation. For example, if the instance's animation goes from frames 1 - 50, you can choose to use only frames 20 - 40 of its animation in the simulation.
You can also set the animation Loop Method and the Playback Speed Multiplier (a value of 1 is the instance's original animation speed).