Oi Vagner, não há problema algum em utilizar o array.
Na verdade, acho inclusive que é uma solução elegante, imagina que ao invés de dois tamanhos de círculo (com SHIFT ou sem SHIFT), você tivesse a necessidade de outros tamanhos (com ou sem CTRL, com SHIFT e CTRL combinados, etc) ?
No geral, se eu vejo que vou fazer algo de forma repetida mais do que duas vezes, não acho sentido em replicar código.
Vou deixar como código de referência a utilização de dicionários ao invés de um array, onde você pode fazer uso da própria estrutura do dicionário. Veja que criei também um dicionário para CORES, que checa se o botão CTRL está apertado, para decidir se o círculo é azul ou vermelho. Observe que dá pra combinar círculos grandes, pequenos, azuis e vermelhos:
<canvas width="600" height="400"></canvas>
<script>
var tela = document.querySelector('canvas');
var pincel = tela.getContext('2d');
pincel.fillStyle = 'grey';
pincel.fillRect(0, 0, 600, 400);
var raio = { false : 10 , true : 30};
var cor = { false : 'blue' , true : 'red'};
function desenhaCirculo(evento) {
var x = evento.pageX - tela.offsetLeft;
var y = evento.pageY - tela.offsetTop;
pincel.fillStyle = cor[evento.ctrlKey];
pincel.beginPath();
pincel.arc(x, y, raio[evento.shiftKey], 0, 2 * 3.14);
pincel.fill();
console.log(x + ',' + y);
}
tela.onclick = desenhaCirculo;
</script>