The town square is an integral part of every Mattermost installation and cannot be removed. You can rename it, though.
Also every user needs to be part of this special channel, so you cannot remove users from it and everyone in this channel will be able to view a list of other users in this channel.
There’s no way to make the channel read-only either.
What’s your use-case? Why would you want people not to see each other?
I’m afraid that this is not possible at the moment with the free version.
The licensed versions add support for channel moderation, where you can specify what members of a channel can do with it and you could switch the town-square channel to read-only that way:
It still does not prevent them from seeing each other, since everyone is allowed to view the members in the town-square channel and every user is automatically a member of the town-square channel, so I guess your only option would be to create one team per client and you will be part of multiple teams.
With the paid versions, you could also make use of the guest accounts feature which might also be what you’re looking for, since you can isolate guests and they do not have access to the public channels or town-square.