Это можно сделать одним утверждением, да:
// Set up whatever you need
Address dummyAddress = new Address { State = "" };
people.GroupBy(p => (p.Addresses.GetFirstOrDefault() ?? dummyAddress).State);
Кроме того, вы можете написать вспомогательный метод:
public string GetState(Address address)
{
return address == null ? null : address.State;
}
Тогда вы можете использовать:
people.GroupBy(p => GetState(p.Addresses.GetFirstOrDefault()));