Buenas:
Para el LCD:
LiquidCrystal lcd(8, NULL, 9, 4, 5, 6, 7);
// LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
El pin 10 es la luz de fondo del LCD, así que ni tocarlo. Está ocupado físicamente.
Los pines 0 y 1 son del puerto, ni tocarlo ya que se usará para la comunicación del grabado y lectura de las EEPROM.
El Pin A0 está ocupado por la LCD Padkey Shield, botones en la entrada analógica.
Queda libre de Arduino UNO r3 los pines 2, 3, 4, 5 y 6. También los analógicos que se adapta al digital A1, A2, A3, A4, A5.
Parece que si hay pines de sobra, tanto para el I2C como el SPI.
Siguiendo el tema del escritorio.

Dentro del ComboBox, en Items he rellenado estos datos para elegirlo.
24xx?? Manual
24LC00 - 128 bit - 0 Bytes.
24LC01B - 1 Kbit - 8 Bytes.
24LC02B - 2 Kbit - 8 Bytes.
24LC04B - 4 Kbit - 16 Bytes.
24LC08B - 8 Kbit - 16 Bytes.
24LC16B - 16 Kbit - 16 Bytes.
24LC32A - 32 Kbit - 32 Bytes.
24LC64 - 64 Kbit - 32 Bytes.
24LC128 - 128 Kbit - 64 Bytes.
24LC256 - 256 Kbit - 64 Bytes.
24LC512 - 512 Kbit - 128 Bytes.
24LC1025 - 1025 Kbit - 128 Bytes.
24LC1026 - 1026 Kbit - 128 Bytes.
AT24CM02 - 2 Mbit - 256 Bytes.
Como puedes ver arriba, he elegido la EEPROM llamada 24LC16B, en el cual dice que son de 16 Kbit, o lo que es lo mismo 2048 Bytes y de 16 Bytes de página.
Los tres TextBox está en modo lectura y de ha mostrado información como, Tamaño Bytes a 2018, Página a 16 y Escritura (ms) a 5.
Cada EEPROM del ComboBox tiene sus datos como indiqué arriba y en modo lectura los tres TextBox.
Si en el ComoBox elijo esta opción:
24xx?? Manual
Los tres TextBox se limpian de contenido y se desactiva el modo solo lectura, es decir, que se puede introducir datos por el usuario.
Los datos que están en los textBox son siempre números. Esos números siempre se guardan en sus correspondientes variables llamadas:
// Variables.
int tamañoBytes = 0;
int pagina = 0;
int escrituraMs = 0;
¿Cuál es la idea de que el usuario pueda insertar los tamaños de la EEPROM, página y tiempo?
Con el tiempo, hay progrmas muy populares que han dejado de actualizarse, por ejemplo el PonyProg, IC-Prog, WinPic800 (este le estoy convenciando que actualice, ajajjajajjaa) y no hay posibilidad de usar las nuevas EEPROM más grandes que van apareciendo.
Por ejemplo, en PonyProg no es capaz de grabar un 24LC1025 porque no está programado, ya que en esa época no existía. Según la demanda de los TV entre otros aparatos, van sacando mayor capacidad.
Si no puedes usar el 24LC1025, como máximo hasta el 24LC512.
¿Cuál es la solución habitual?
Buscar otro programador.
¿Cuál es la solución para este programador que estamos haciendo?
Está pensado para el futuro. Si sacan una nueva EEPROM y no está en la lista, por ejemplo, uno de 4 Mbit, se mira la hoja de datos y se configura por capacidad de EEPROM, tamaños de la página en Bytes y los cilcos de escritura.
Haré hasta los iconos con Photoshop. De grabado, lectura, verificar. 
Otra pregunta, dice que 1Kbit. ¿Son 1000 bit o son 1024 bit?
1000 bit / 8 = 125 Byte.
1024 bit / 8 = 128 Byes.
¿256 Kbit = 256000 Bit o 256 Kbit son exactamente 262144 bit para el 24LC256?
262144 / 8 = 32768 Bytes = 32 KBytes.
Para no volverme loco, tengo que hacer una buena tabla, ya que debo respetar en Bytes en C# si o si.
Sigo investigando...