Before I try to give an answer to your questions, I would first like to explain something. Azure Functions can run in two different ways: on a Consumption Plan, and on an App Service Plan. For you to take full advantage of Functions (or actually Serverless), you should run your Functions in a Consumption Plan.
- Consumption plan - When your function runs, Azure provides all of the necessary computational resources. You don't have to worry about resource management, and you only pay for the time that your code runs.
- App Service plan - Run your functions just like your web, mobile, and API apps. When you are already using App Service for your other applications, you can run your functions on the same plan at no additional cost.
and
When you're using a Consumption plan, instances of the Azure Functions host are dynamically added and removed based on the number of incoming events. This plan scales automatically, and you are charged for compute resources only when your functions are running. On a Consumption plan, a function execution times out after a configurable period of time.
About scaling:
Azure Functions uses a component called the scale controller to monitor the rate of events and determine whether to scale out or scale in. The scale controller uses heuristics for each trigger type. For example, when you're using an Azure Queue storage trigger, it scales based on the queue length and the age of the oldest queue message.

More interesting information on scaling: Azure Functions scale and hosting
Looking at your requirements, my idea would be to leverage the real power of Functions by running them in a Consumption Plan. If you have a high-priority customer, give them their own instance of the Function, triggered by its own container in the Blob Storage (take a look at the link in @Gonzo345 's comment). This ensures that it gets processed as soon as it comes in, and it will only incur costs if a trigger comes in for the high-priority customer. Because of the idea of a Consumption Plan, it will instantiate the Function, run whatever needs to run and destroy the instance.
By the way: Blob Triggers in the end are polling triggers. When there's a lot of movement, they're pretty fast. But when there's not a lot going on, changes in the storage account might take up to a few minutes to actually trigger the function. If you want real-time event handling, have a look at Event Grid.
Now to get back to your questions:
- Yes, it should be. It does require your Function App runs in an App Service Plan
- Have a look over here: Disable Autoscale and manually scale your instances
- See 2 :)