/if a sprite is already in-between, at, say, 64x40 ... is there any reason to expand it to 64x64? Is that any more efficient?
No, there's no point doing that - both ways occupy a 64x64 surface in graphics card memory and they draw at the same speed.
BTW Arima's post is really important for the OP: layers themselves don't use VRAM, only Sprites, and all instances of one object type share the same texture, so you can create more instances of an object without using VRAM either. So to answer the original question, no, many-layered backgrounds are fine, you can easily have loads and have no VRAM overhead.
Construct does create some of its own textures at runtime for processing effects and such, but there's a limit - I think a maximum of about five, so it's fixed. Nothing like one per layer.