You might try replacing your expression segment:
If(Compare([a.Bitrate], >, 320), 15, Math(([a.Bitrate]) / 25))
with the faster:
math(min([a.Bitrate] / 25, 15))
This reduces two function calls (the If() and Compare() calls) and places everything in the math() function. It does the same thing essentially (there's a minor sliding of the colors).
To answer your question about which parts to change to change colors, the colors are a triad of RGB values, specified as RRGGBB where. Each RR GG and BB value ranges from 0 to 255, but they must be specified in hexadecimal, so that's 00 to FF.
So, your expression (with my change above) would look like:
<font color="33Mid(0123456789ABCDEF, Math(min([a.Bitrate] / 25, 15)), 1)F99">[Artist]<//font>
<font color="9933Mid(0123456789ABCDEF, Math(([Year] -1932) / 5), 1)F">[Album]<//i> /([Released]/)<//font>
<font color="Mid(0123456789ABCDEF, Math([a.Rating] * 4 - 5), 1)F9933">[a.Rating.x]<//font>
<//b>
where I've color-coded the RGB components.