You can return the id of a character easy enough, which should remain constant for said character. As for animations, if you use the same names for each animation in all of said characters outfits, then you can just use the .CurrentOutfit field to access the correct animation.
Problem with ID is that you will need to manually remember which belongs to which character. For me that's impossible due to my memory, so names work best for me. I guess quickest method to return all ID's would be to use a for loop & print id of all characters to the log file, something along the lines of...
for i = 1, #game.CharacterLinks do
print( i, game.CharacterLinks[i]:getName(), game.CharacterLinks[i]:getId().id )
end
... seems the id index starts at
0.