Should I create a separate sub-account for each client or business?
For clients, yes. Most agencies create a separate sub-account for each client so each client's leads and data stay separate. Think sub-account any time you get a new client, or when a client needs leads kept separate, for example for a different location or state. For a client who only needs inbound calls answered, an agent inside your own account is an alternative, but a sub-account is the usual approach.
For your own businesses, you do not have to separate them. You can keep everything in your main account, which is often easier because you do not have to manage two accounts and switch between them. If you want one of your businesses kept separate, it can have its own sub-account.