Sinceramente está difícil entender sua dúvida, pois você menciona vetor (array) e o deslocador de registros apenas.
Os operadores de negação (~) e deslocamentos de bits (<< e >>) funcionam no microcontrolador, você geralmente altera variáveis e registradores internos, e não tem muita coisa relacionada com o tal do 74595 não, só fazem funções similares de deslocamento de registros, mas isso é dentro do pic, não é fora dele. Esses operadores utilizaria apenas se for fazer spi via software.
Partindo do pressuposto que você não tenha absolutamente nenhuma dúvida sobre o hardware e a conexão esteja correta com o micro, utilizando uma SPI, e sua dúvida seja enviar um byte ou mais para os deslocadores de registros EXTERNOS tipo 74595, que provavelmente estão em série, ou se estiverem em paralelo você já saiba ativar o sinal CS de cada chip individualmente de maneira correta, basta iniciar a spi do PIC e transmitir, então basta fazer o código para SPI para o seu microcontrolador, que pode ser específico para cada linha de mcu.
Segue doc básico sobre spi pro pic:
http://ww1.microchip.com/downloads/en/devicedoc/spi.pdfSe o seu pic não tem SPI, então pode usar os >> para fazer uma SPI em software, fica lerdão, desperdiça recursos, é um jeito burro de fazer porque um PIC sem SPI e um PIC com SPI muda praticamente nada no preço, mas se o motivo não for devido a custos, mas sim porque, devido a alguma razão esotérica, você precise de mais SPI que nenhum microcontrolador tem disponível, e não dá pra botar isso nas SPIs que já tem devido a alguma restrição de projeto, ou se é para fins de aprendizado de código, então segue link para um spi em software:
http://forum.modtronix.com/index.php?topic=399.0Particularmente eu não utilizei ou testei esse código, sempre fiz o meu próprio, mas serve como ponto de partida.