For the sum total you might be able to use a SharePoint Designer workflow to achieve this. Essentially like this:
- When item is created or modified
- Run a loop on items that fall under a particular view (e.g. Category=A, Category=B, etc.)
- Keep a running total
- If that total exceeds your pre-defined value (hard coded or pulled from another list perhaps), send an email.
For the expiration alert, you can setup a policy that triggers a different workflow when a certain date has been reached. This is not the same workflow as previous, it would just send an email when triggered. Look under List settings > Information Management Policy Settings > Select Content Type > Enable Retention > Add Stage > You'll see the date setting and workflow configuration here.
Note that this Retention Policy workflow triggers based on an SPTimer job that runs periodically, I forget the exact name but by default I believe it's set to only run once per week, which means you need to change this to once per day or it will miss things.
Another option for both of these notifications is to write your own timer service that uses the API to query the list, perform the necessary calculations, and takes whatever action is needed. This is obviously a "coded" solution, compared to the previous two "no code" solutions. With this, you get significantly more control over when alerts are triggered, how the calculation is performed, error handling and retry, any additional actions you may want to take as a result (e.g. legacy/in-house system writes) etc.