Ich nehm als Port-Expander immer den 74*595 zb 74HC595. Seriell rein, 8 parallel raus. Endlos kaskadierbar, gehen bis 100MHz oder mehr, weniger als 1€. Gibt's auch als Open-Collector, in DIL oder SMD. Weiterer Clou: Das ganze ist eigentlich wie SPI-Protokoll, und AVR's haben Hardware um das leicht und fix anzusteuern. Funzt prima bei mir. Alternative wäre CD4094-ähnliche Teile wie 74HC4094, die haben aber ein anderes Pinout.

Es gibt auch I/O Expander von Maxim, die direkt LEDs treiben können, wie den MAX6956: 20 (DIL) bzw 28 (SMD) I/O-Ports bzw LED-Treiber. Da bräuchtest du nicht mal Vorwiderstände für die LEDs und kannst die Helligkeit easy anpassen.

Dringend abraten würde ich dir von ungelatchten Schieberegistern wie dem o.g. 74*164. Das Prinzip beim Schieben ist einfach: die Bits wandern im Gänsemarsch bis sie an ihrem Bestimmungsort angekommen sind. Bei ungelatchten Registern wie 74*164 sieht man das aber an der Anzeige. Selbst bei einigen 100kHz shift-Frequenz ist ein schwaches Aufzucken sichtbar. Mit Latch wandern die Bits an ihren Bestimmungsort wie sonst auch, werden aber nicht direkt angezeigt. Das wird erst über eine Steuerleitung verannlasst, die den Inhalt der Schieberegister in die Ausgangslatches läft -- im Endeffekt ein Ram von 8*1 Bits -- wenn sie an Ort und Stelle sind. Damit funzt ne Anzeige sauber!

Die 2 MAX6956 zu bekommen war auch super easy: Bei maxim.com Samples bestellt und an die Firmenadresse schicken lassen. 3 Tage später kamen die Dinger per Luftpost aus USA *grinnz*.

::Edit::
PicNick war mal wieder schneller
Bei der Lösung mit den gelatchten Schieberegistern brauchst du 3 Ports (Daten, serial Clock, Latch) und mit SPI-Hardware 4 Port, weil MISO brach liegt. Aber egal. Ports hast du dann ja wie Heu...