On Linux (have not tested on Mac) I recently used the following method to create layout for a shot that required 3 instances of a procedural rock creation rig. Then i created a proxy of the armature from each of the group instances and posed them accordingly.

Starting with two folders: one containing an asset file and the other where my shot file exists. In the asset file the Rig/Geometry is grouped.
blend:~/demoProceduralRocks>> ls asset/ shot1/
Since I want to create create a scene that should have 3 identical instances of the asset, I create hard links to the file in the shot's import folder
blend:~/demoProceduralRocks>> cd shot1/import/ blend:~/demoProceduralRocks/shot1/import>> ln -v ../../asset/Rock.blend Rock.instance.1.blend blend:~/demoProceduralRocks/shot1/import>> ln -v ../../asset/Rock.blend Rock.instance.2.blend blend:~/demoProceduralRocks/shot1/import>> ln -v ../../asset/Rock.blend Rock.instance.3.blend
This is how it looks after creating hard links
blend:~/demoProceduralRocks> ls -lirt asset/ shot1/import/ asset/: total 172 22217836 -rw-rw-r-- 4 blend home 169297 2013-05-27 15:22 Rock.blend shot1/import/: total 516 22217836 -rw-rw-r-- 4 blend home 169297 2013-05-27 15:22 Rock.instance.3.blend 22217836 -rw-rw-r-- 4 blend home 169297 2013-05-27 15:22 Rock.instance.2.blend 22217836 -rw-rw-r-- 4 blend home 169297 2013-05-27 15:22 Rock.instance.1.blend
Then I layout the shot file by linking the groups from the hard linked files created above. Then I make a proxy of the Armature and Pose each proxy separately. (A demo of this in action)
blend:~/demoProceduralRocks> tree ./ ./ |-- asset | `-- Rock.blend `-- shot1 |-- Layout.shot1.blend `-- import |-- Rock.instance.1.blend |-- Rock.instance.2.blend `-- Rock.instance.3.blend