For the size of the model, it's polygon count that matters (you can scale a model to whatever size you want--this doesn't add any complexity to the object). I'm not sure what you mean by reference pic--are is the game in 3D, or are you rendering 3D models as a series of 2D sprites, with the sprites being what the game actually uses? If it's the latter, keeping them under 1024x1024 is a safe bet, although some PCs can handle significantly larger images.
When different characters share the same moves, I think it's a safe bet to say they're just using the same animation data. I haven't tried this myself, but I don't see any reason why any two models, given the same set of "bones," couldn't use the same data for an animation. It's just a matter of movement applied to vertices over time; the program should neither know nor care what those vertices represent, as long as they're present.
Pretty sure you can use the same rig for as many models as you want. I can't imagine why you couldn't. There are templates for humanoid models online, in fact. They look like mannequins or crash test dummies.