De plano es algo que tendrá que ser elaborado con JavaScript, donde tomes el valor del ancho, lo uses como variable y luego esa variable la apliques al color.
Una alternativa es hacer un chorro de mediaqueries con css, pero no sería por "porcentajes" sino por medidas.
Código CSS:
Ver original@media (max-width: 600px) {opacity: .6;}
@media (max-width: 500px) {opacity: .5;}
@media (max-width: 400px) {opacity: .4;}