Add Image Size for one Media Category Only

No, images are global and you might change which content they are associated with at which point you will need sizes that do not exist.

You can generate images “on the fly” but this may slow down page generation (depending on the way generated image information is cached) and might break code which “pushes” into CDN or cloud storage like S3.

WordPress themes and plugins seem to generate way too many images, but since most of the images generated that way are relatively small, and storage is cheap, it doesn’t seem to be sopmething that you should worry about enough to write code to optimize it.