Mettiamo il caso che io debba condividere il valore di due variabili tra due arduino, completi o stand alone che siano, così da demandare al primo la creazione di tali variabili tramite l'interazione con l'utente, ad al secondo l'elaborazione...come è meglio fare?
Diciamo che le variabili siano 2 ad hanno entrambi valori da 0 a 16 e che quindi siano necessari 4 bit per la trasmissione, per un totale di 8 bit, inizialmente pensavo di poter semplicemente collegare in parallelo bit per bit ai pin (in tal caso come sarebbe meglio...serve una resistenza di pull-up o pull-down?) ma poi ho pensato che utilizzare 8 bit per comunicare semplicemente 1 byte è un bello spreco quando con l'I2C ne basterebbero 2...per quanto non un fulmine è pur sempre 1 byte!

Ho perso il filo...
Non capisco cosa c'entrino le resistenze col pilotaggio dei pin manipolando direttamente le porte logiche del chip.
Non capisco alla fine quando dici che per spedire 8 bit su I2C ne impieghi solo 2.
La domanda a questo punto è: essendo le due variabili non necessariemente modificate allo stesso momento, è possibile comunicare un valore da attribuire ad una variabile o si può semplicemente inviare un valore assoluto?
Se "spedisci" un valore, spedisci questo valore, non mandi un riferimento o quant'altro.
Questo link intanto ti può chiarire come assegnare contemporaneamente agli 8 pin agganciati ad una stessa porta lo stato che devono assumere:
http://www.arduino.cc/en/Reference/PortManipulation