We want to offer 'Private Community' (private Group) feature to customers. Can we set the maximum number of private communities (private groups) that can be created?
Not out of the box, no. The group create limit is globally and not per-type. You can however extend the group create check using CB Auto Actions on the gj_onCanCreateGroup trigger to add your own custom create access logic.
Can CBSubs sign-up form be configured to select number of private communities (groups) desired, and charge accordingly?
Keeping in mind my reply above. Yes, using CBSubs Options you can provide a field to select or input the number of groups they should be limited to then multiply the price as needed. Next using CBSubs Fields you'd push that option into a profile field. Now in CB GroupJive > Parameters > Groups > Create set "Create Limit" to that field. You now have paid group create limits.
When a private community (group) is created, is the creator assigned automatically as Moderator, or is this a manual process?
They're automatically assigned as owner. Owner has more permissions than group moderator and group administrator.