Each application template applied to a node operates independently from the other. In your example above you would receive an alert for one once the 80% threshold was exceeded, and another when the 90% threshold was exceeded.
As for template philosophy I generally like to maintain a single template for the application that will be monitored. So in your example above I would have one template that monitors the base Windows Operating System, and another for monitoring MSSQL Server. I then layer the templates on to provide the monitoring required, ensuring that there is near zero overlap from what's being monitored in each application template.