Estuvo bueno el desafío. Lo que cambie fue que se le puede agregar un color al array y sigue funcionando con el color agregado.
<canvas width="600" height="400"></canvas>
<script>
    var pantalla = document.querySelector('canvas');
    var pincel = pantalla.getContext('2d');
    pincel.fillStyle = 'grey';
    pincel.fillRect(0, 0, 600, 400);
    var coloresPincel = ["red","green", "blue","yellow"] // array con colores
    var colorTamanoX; //tamaño x de los cuadrados
    var colorTamanoY;//tamaño y de los cuadrados
    var colorPincelElegido = "blue"; //comienza dibujando en azul
    var puedoDibujar = false;
    function dibujarCirculo(evento) {
        if (puedoDibujar) {
            var x = evento.pageX - pantalla.offsetLeft;
            var y = evento.pageY - pantalla.offsetTop;
            if ((x < colorTamanoX * coloresPincel.length) && (y < colorTamanoY)){
                //no dibuja sobre la paleta
            }else{
                //aca dibuja sobre la paleta
                pincel.fillStyle = colorPincelElegido;
                pincel.beginPath();
                pincel.arc(x, y, 5, 0, 2 * Math.PI);
                pincel.fill();
            }
        }
    }
    pantalla.onmousemove = dibujarCirculo;
    function habilitarDibujar() {
        puedoDibujar = true;
    }
    function deshabilitarDibujar() {
        puedoDibujar = false;
    }
    function dibujarRectangulos(x,y,xTamano,yTamano,colores){
        for(var z = 0; z < colores.length; z++){
            pincel.fillStyle = colores[z];
            pincel.fillRect(x,y,xTamano,yTamano)
            x = x + xTamano;
        }
    }
    //tamaño de los cuadrados
    colorTamanoX = 50;
    colorTamanoY = 50;
    //llamada a dibujar rectangulos
    dibujarRectangulos(0,0,colorTamanoX,colorTamanoY,coloresPincel);
    function elegirColores(evento){
        var x = evento.pageX - pantalla.offsetLeft;
        var y = evento.pageY - pantalla.offsetTop;
        var sumaTamanos = 0;
        for (var z = 0; z < coloresPincel.length; z++){
            if ((x > sumaTamanos) && (x < sumaTamanos + colorTamanoX ) && (y > 0) && (y < colorTamanoY)){
                colorPincelElegido = coloresPincel[z];
                break;
            }else{
                sumaTamanos = sumaTamanos + colorTamanoX;
            }
        }
    }
    pantalla.onclick = elegirColores;
    pantalla.onmousedown = habilitarDibujar;
    pantalla.onmouseup = deshabilitarDibujar;
</script> 
            