Generally speaking, no, there isn't a globally unique name system. However, if you take some due diligence, you can upsert most types of records via their Name:
Group g = new Group(Name='Some Unique Name');
upsert g Group.Name;
However, this generally doesn't work on polymorphic fields, so you still need to query for records in that case:
User someUser = [SELECT Id FROM User WHERE IsActive = TRUE LIMIT 1];
GroupMember gm = new GroupMember(Group=new Group(Name='Some Unique Name'), UserOrGroupId=someUser.Id);
upsert gm;
However, this may not always be ideal for every situation, but you can leverage this technique in many common use cases to reduce the number of queries you need to use.
This technique works for virtually any object that has a Name, such as Opportunity, Group, etc. Some objects like Folder do not allow upsert, and others are tricky to use because they don't have a Name field, do not have an indexed name field, or have an auto-number for their name field (Case, custom objects configured with auto-numbers).
Unfortunately, you'll have to consult the Setup screen to see which fields are indexed, or do some experiments.