Ciao,
se in output hai i led, allora ti conviene utilizzare un led driver, tipo quello che ti avevo indicato NXP PCA9685, che ha 16 canali in output.
Si programma in modo analogo al link che hai inserito sul PCF8574, ma il PCF8574 e' un circuito integrato che aggiunge I/O per uso generale, il PCA9685 (e fratelli) e' specializzato.
PCA9685 ha 16 canali, c'e' una serie di registri per agire su tutti le uscite led conteporaneamente, oppure vi sono poi dei gruppi di registri per comandare ciascun led indipendentemente l'uno dall'altro.
Costa circa Euro 1 ed ha 28 piedini con pacchetto TSSOP28 che e' la piu' facile da saldare fra quelli proposti.Ne puoi utilizzare fino a 62 assieme assegnado un differente indirizzo I2C a ciascuno, ossia puoi pilotare 62 x 16 = 992 led.
Per gli input analogici aggiungi un circuito integrato, ad esempio con comunicazione I2C, che abbia un sufficiente numero di canali a seconda dell'Arduino che scegli.
Qui vedi un esempio di utilizzo del PCA9635 (il fratello minore del PCA9685)
Come vedi fa un po' quello che vuoi tu, utilizza un potenziometro per gestire i led (anche se qui i led sono RGB).
Ciao,
Marco.