No sé si se pueda hacer el cast de manera directa así como pretende hacer tu código, lo que si puedes hacer es convertir cada uno de los elementos del arreglo, por ejemplo:
int[] ArregloInt =new byte[] {123, 12, 87};
byte[] ArregloByte = new int[ArregloInt.length];
// converción de cada elemento
for (int i = 0; i <ArregloByte.length; ArregloByte[i] = ArregloInt[i++] );
Ten cuidado cuando conviertas int a byte porque un byte ocupa 8 bits mientras que un int puede ocupar más, si valor del int que quieras convertir no puede ser contenida en 8 bits entonces el int convertido a byte tendrá un valor digamos que "extraño" porque se puede tomar los bits más significativos o menos significativos dependiendo de la arquitectura de tu computadora.
en el ejemplo que te mostré no hay problema porque los valores 123,12 y 87 pueden ser almacenados en 8 bits, es decir, en 1 byte.