Just to add to Licensecart's answers:
Yes. Blesta has a cPanel module that it comes with by default. You would just install and configure the module under [settings] -> [Modules] -> [Available]. I think there are also third-party cPanel modules floating around the forums here that may have support for additional functionality.
What you've described is how Blesta's cPanel module works. As long as you have multiple servers setup, the module will assign the user to the one with the fewest number of accounts on it. When the client pays his invoice for a cPanel service in Blesta, the system will automatically provision the service via cron by creating the cPanel account. Just make sure your cron is setup and running at scheduled intervals. We recommend setting it up to run every 5 minutes.
Blesta was designed to be simple and easy-to-use. It comes with a Support Manager plugin to handle tickets via the admin/client UI and via email, according to the preferences you configure. You would just install the plugin under [settings] -> [Plugins] -> [Available], and a link to "Support" will appear in the primary navigation where you can configure support staff, support departments, and manage tickets. The client can view their invoices, tickets, transactions, company info, etc., from their account in the client interface. You can also "login" as them from the admin interface to see what they would see when they login.
An excellent question. Based on your questions I would say yes. But the best way to know if it meets all of your requirements is to try it. You can take a look at the demo, or download it and select the free 30-day trial to give it a spin on your own machine. These forums are a good place to find answers to questions you may have if anything should come up.