Llamado a la solidaridad!, con 2 chips ATMEGA 328P-PU

Hola, estoy haciendo un proyecto y casi lo termino. El ultimo paso es hacer el famoso STANDALONE de la placa de Arduino MEGA y pasarme a 2 micros ATMEGA 328.
Hago esto porque no puedo usar solo 1 porque la cantidad de pines digitales no me alcanzan para mis perifericos (que son un teclado matricial, un LCD y unas 6 salidas digitales mas = 21 en total).
Lo que yo les quiero pedir, es informacion de:

1-Como comunicar 2 chips 328

2-Como repartir el codigo de programa entre los 2 chips

3-Como programarlos (aviso que tengo un Arduino UNO y un MEGA)

4-Si me conviene hacerlo con esos chips, porque se que hay de mas capacidad pero son SMD todos (creo)

5-Cual me recomiendan y como usarlo a ese supuesto chip potente a usar

Casi ya termino, no es una practica de aficionado, es para un trabajo de verdad y no quiero dejar pegado al proyecto mi Arduino MEGA, obvio.

Ya busque en internet como recomiendan ustedes pero nada, o quizas busco mal. Por cualquier cosa respondan por favor, una minima ayudita. Gracias.

Yo te recomendaría utilizar algún método de ampliar la cantidad de entradas salidas (o usar menos ) y evitar utilizar dos chips.
Por ejemplo para el teclado matricial