I have a creature model in early production and I plan to make it be able to sprout wings and spikes, but not have them there all the time. How would I go about doing that? Would I have to make a whole separate model for it?
You could model the wings/spikes at full size, keyframe the scale at your end keyframe, then scale them down until they're so small that they're not noticeable and keyframe the scale at the beginning keyframe. Then, the objects would appear to grow over time. Just keep an eye on the point that they're being scaled about so they don't end up accidentally shifting to somewhere you don't want them.
As for modeling them all as one object or separate, it seems like modeling them all as part of the creature would make it easier to rig and animate. The only issue I could see is if you scaled the wings and spikes by different amounts. I haven't tried it so that may not be a problem but I would think that, as long as you scale the wings and spikes down by the same amount, it should work fine. I have modeled different components as part of the same object by assigning them to different vertex groups, that makes it easier to select individual components.