If you are considering a multi-tenancy environment, I suggest you look at the License Pool Manager module from the app store which will allow you to manage allocating your licenses between customers. As this is a 'replacement' for the default Account module, I suggest you implement it early in your development cycle to avoid doing major surgery to your application at a later stage.
Apart from licenses, you can also control data access by setting X-path constraints in the data model on the Access rules tab of the entity. To implement this, you would need to set up a Customer entity, and relate all the other data to the customer so you can set an appropriate constraint.