For Incidents, the escalation schedule should cover what you're talking about. You can set it to notify for 1st-3rd escalations, and breach. If you create SLAs for each service, you would also have different escalation schedules, but they all should line up to the priority level.
Bryan is completely right the best option is to use the escalation/SLM engine for this. If you wish to trigger similar alerts for Tasks if you have purchased the full Service Level Management bundle you can enable the OLA support options for Tasks in the Global constants. In the Services workspace (CI.Service) you can define OLA's for the services.
If you have not bought the Service Level Management bundle you can do everything just using the escalation engine its just a little more manual and you don't get the nice SLA dashboards.