For sure dude! I do have some ideas regarding how it could work / behave.
I’ll mull it over, and get back to you with them. I think I can probably work something up too that could implement it as well. And if it’s dope, then port as much as possible over to C and submit a patch for it in the core.
I think the modifiers on collections will eventually be solved by other projects (at least I’ve read places that it will be in the works sometime in the future, and that modifiers themselves will be rewritten to be nodes anyway). So applying modifiers to the parent and have them affect the children may want to wait until those projects are underway. Also that’s waaay more complex and a above my familiarity with Blender at the moment. lol.
So I think that select any object in a group, and it selects the group itself (parent) would be the most useful to design and implement. Since grouping would create an empty that would serve as a parent, we’d get that sweet sweet transformation goodness. It could also automatically resize the parent to fit the children, and allow for the display of the children to be turned off, so as to save viewport performance. Just playing around right now with parenting to a box empty with a number of objects gets exactly what I’m wanting in terms of grouping for transforms. Combine that with an easier way to move objects origin (on the fly moving an an origin, especially with snapping to vertexes, edges faces etc.) would be killer.
Grouping also ties into what I’d also like to develop regarding transforms, which is a more advanced duplication system. One where you could duplicate an object and transform it with rotation, scale, and translation at the same time, potentially with formulas if desired. Ideally it’d be also able to be a modifier / geo node (and potentially replace the array modifier).