Packages
Addons cannot be made mandatory, but config options can have a minimum value. Consider using config options instead
Quantities can be limited on addons if using the universal module and using a qty field for which you define the options. You can also have a config option of the type quantity with a min, max, and step value. The config option may be the way to go depending on how you sell/price things.
Quantity of a service cannot be limited per client, only per-stock. However, it's likely we will be adding a per-client limit in the future and have an open task to do so
When clients upgrade, they are charged a prorata amount for the upgrade to the end of the current term, in which case it'll renew at the new price. As an admin, you can make adjustments to do whatever you want, if you want to diverge from that.
Admins can use the order form by using the "log in as client" option and checking out, however you can add services as an admin to bypass the order system which has more flexibility
I'm not sure what you mean about the service status. Services only become active when: 1. The order is approved. 2. The invoice is paid. 3. The cron runs to provision paid pending services. If you add a service as an admin, you can set the status to active without payment if you want, but the system does not activate services for which no payment has been made automatically. But you can activate them manually as an admin without payment if you wish
Billing
Yes, you can use 5 years as a term. Any value term period options are available. For example, 2 months, 6 weeks, 4 days, 13 years, are all possible options.
Client Area/Invoicing/payments
You can have clients pay with a link in their email. To prevent them from logging in, just set a username they would not be able to guess, so that they can't reset their password
Support
Yes staff can open tickets that are assigned to a client
Tickets are generally assigned to a client, so if you want to keep them "internal" maybe a dummy client account to add them to would be ideal
Marketing
Yes, just use the Mass Mailer plugin https://docs.blesta.com/display/user/Mass+Mailer