My biggest problem is displaying pre-set animations and events, since the sprite would have to change depending on what pet you own. How can I do this?
Yes, there's no getting away from having to animate all of the actions for all of the animals. If there are 10 animals, you'll need 10 idle animations, 10 eating animations, 10 playing animations, etc. The oooonly possible way around this would be with a bone animation system which I'll get onto in a minute. To save you some code work I'd suggest putting all of the pet sprites in an object Family with the same animation names. Then all you have to do is delete the 9 pets that the player is not using at level start and "set Family animation to 'Eating'" or whatever for when you need to change the animations. In other words always send animation events through the Family, not the individual pet sprites. That could save you a loooot of redundant coding.
Should I worry about what size the sprites are? To add onto that, I wanted to give each pet 3 to 5 variations in coloring: is there a way in construct 2 to do this automatically, or should I have separate spritesheets for each variation?
Make the sprites so that they display naturally at the maximum size you'll need them to onscreen - you can always shrink them if you need them smaller, but you can't really make sprites bigger than they're supposed to be without them looking a bit crap. This isn't a hard and fast rule - you can break it for some things - but it's a good general approach to have. Re: colours, C2 has various built-in WebGL shaders and effects that can be used to do tints and colour replacements on the fly - you could look into that and see if it helps you
Another question involving sprites: is there some way in Construct 2 to assemble pre-designed assets (body, head and back accessories so far) and make a spritesheet out of it? I have a genetics system in mind where both parents give traits to their children, and while personalities and the like could be difficult to add, preparing the sprites and getting the assembling system ready would do wonders.
Not... as such. Not the way you're asking. You could perhaps look into a bone/modular animation system, which would allow you to do jointed puppet animation and swap out the individual body parts on the fly, but I warn you this is technical and a big headache if you're starting out. If you really want to go that way, maybe look into getting a program called Spriter - I've heard that that will integrate with C2 well.
Good luck!