Zum Controller Programmieren gibts mittlerweile verschieden Möglichkeiten. Parallel/LPT war die erste; gibts auch per RS232/USB. Wenn du nen Parallelport hast: 74HC595 hin und fertig. Dafür ist der eigentlich gut geeignet. Ich würd sowas für mich einfach schon aus Gewohnheit mit nem AVR machen.

Die 595 und 597 müssten "nebeneinander" arbeiten; also hintereinander hängen geht nicht, da die Datenrichtung bei beiden ja unterschiedlich ist.
Du kannst aber beide mit dem gleichen Takt versorgen, dann geht Schreiben und Lesen gleichzeitig.

Das mit den 3 Leitungen stimmt so.
1x Takt, d.h. jedes Mal werden die Bits 1 weitergeschoben.
1x Daten, d.h. ob ne 0 oder 1 reingeschoben wird.
1x "Update", d.h. erst jetzt werden die Daten auf die Ausgänge gelegt (man kann das auch dauerhaft einschalten, dann sieht man halt die Bits durchrauschen; für ein Lauflicht mitunter auch sinnvoll)