Vas por muy buen camino marturetjulio, ya dentro te poco te sacarás la espina del cartel.
No hombre, no te preocupes, entiendo perfectamente y me gusta tu idea de sacar tus propias cosas adelante.
No es ningún problema usar un registro de desplazamiento u otro, ya que todos funcionan prácticamente igual, la característica de los 4094 es el strobe, que los 74164 no lo poseen, con el strobe tienes un mejor control. Si te recomendaría un registro sería el TPIC6595 de texas, que es un mounstrito en suministro de corriente ya que posee salidas de mosfet, aunque me parece que son algo difíciles de conseguir y hasta quizá un poco caros. Pero los 74HC595 son como sus hermanos menores y en brillo para los leds son la mejor solución, los 164 no los probé, me quedé con los tpic y con los 595 (que ambos tienen strobe) y no probé nada más, ya que los 4094 son una lágrima para el brillo de los leds.
Tu código va muy bien, ahora te falta el desplazo que tanto buscas. Algo que puedo reiterarte de las recomendaciones es que utilices un buffer, es decir un otro arreglo donde ahi puedas cargar tu mensaje a mostrar. Ya que me parece que tienes en el cartel la letra J desplazada hacia abajo, por falta de un buffer.
Hay dos opciones que puedes usar para el desplazo:
-Guardar en tu arreglo las letras por filas
-Guardar en tu arreglo las letras por columnas
por filas: por columnas: orden en el array:
00011000 00111111 array[0]
00111100 01000100 array[1]
01100110 01000100 array[2]
01100110 01000100 array[3]
01111110 00111111 array[4]
01100110
01100110
00000000
letra 8x8 letra 5x7
Ambos son una letra 'A'
Con la primera opción tienes que hacer algo similar a lo que hice acá en mi código, no necesariamente con una matriz, también podría ser en un arreglo. Como te dije yo escogí la matriz porque me pareció más sencillo el manejo e ir desplazando los datos del buffer que posteriormente se enviará a los registros, el buffer se carga con las letras del mensaje que quieres mostrar.
Con la segunda opción deberás reacomodar los datos de las letras, ya que las tendrías almacenadas por columnas, pero esta reacomodación, te dará un mejor control del cartel, ya que el desplazamiento ya no será por el mismo desplazamiento de los bytes(como el caso anterior), sino por un índice o puntero a las columnas que estarán en tu buffer.
Esta segunda idea no la se explicar muy bien, pero seguro que comprendes la idea del master BrunoF que seguramente la ha dejado plasmada en el link del hilo donde habían las imágenes fila por fila. Como te dije para mi es un poco difícil poder explicarla, ya que ni yo la comprendí a la primera

jeje
A seguirle machando, ya de acá a unos días o mucho menos seguro que nos sorprendes con tu avance.
saludos