I would think that it would make the most sense to hav a way for initializing a group structure much like initializing attributes - all of which can be saved in an init file or in a smiliar way to the way bug-tracker has a configuration for tickets and for bugs - where you choose the setup you want at configuration time. That way the same group names aren't needed for different types of orgs (we are a school and would need "donors", "alumni", etc.) and other org types would need other names. I also think that this simple group structure addition does not warrent a new package (CRM)... unless I'm missing some components that would also be part of CRM.
If the purpose of creating a CRM package is better marketing I'm all for changing the name of contacts to CRM.