Can you use the Is Breached? flag instead of Colour?
Hayden is correct in that you should look to use the breach status if what you're trying to do is just query on which processes have been breached. I may be wrong, but I suspect that you're also looking at the processes that haven't breached in that query as well. Here are a couple of thoughts on both of those.
First, if you are just wanting to write a query on the processes that have breached, I would suggest you do this on the Escalation Point object rather than the main process object. The reason for this is that it is better practice, especially when you are working in a multi-part service level environment (Initial Resposne and Resolution). You would need to use the criteria that looks for the Escalation Point that is derived from an Escalation Action which has the 'Is Breach?' flag set and also one that tests for the status of the Escalation Action is 'Expired'. if you have multiple service levels, you will need to add a criteria to test for the correct one.
Second, if you are looking to include the open processes as well, then I suggest you look at using the Priority value as a sort field. You can control Priority from the Service Level's Escalation Actions and then, because Priority is an ordered list, you can use the Rank attribute as the sort ordering on the query.
I like the idea of using the colour number and re-purposing for the sake of an-other function...
Is there a better way of using graphics (HTML of course) on Dashboards a identify the current escalation point an Incident has arrived at? e.g. purpose built Current Escalation point?
Create a before save calculated field with dependency of the colour attribute and convert it to html colour code string and then you can query on it if you want. You will need to back fill them though via schedule manager one-off job.