It wouldn't be the client so much as the relay where this functionality would be built in. Wouldn't be too hard to take a paid relay, remove payment requirement, and build in whitelisting based on some other metric. Though if it's to be private read access that might take some modification given that Nostr defaults to world readable.
Beyond that groups and chat are implemented in a variety of ways on the client side.