Frecuencias para ATmega328p

Hola buenas,
quería consultar si es posible hacer funcionar un atmega328p con un oscilador externo a 12Mhz ya que quiero alimentarlo con una batería que oscila entre 3 y 4 voltios según el estado de carga.

O sería recomendable pasarse a 8 Mhz y si fuera así, es mejor oscilador externo o interno?

Lo voy a utilizar junto a un modulo inalámbrico nrf24l01+ mediante SPI.

Y por otro lado me gustaría saber si para comunicar dos microcontroladores inalámbricamente, en este caso un atmega328p y por otro lado un arduino nano por ejemplo, deben estar a la misma frecuencia ya que el nano viene a 16Mhz.

Gracias!

una batería que oscila entre 3 y 4 voltios según el estado de carga.

Empecemos aclarando esta situación. Cómo es que la batería oscila?
Supongo que quieres decir que hasta que no llegue a 3V no vuelves a cargarla?

De ser asi lo mejor que te recomiendo es fijar un punto en 3.3V y que tu batería pase por un LDO (regulador) para que entregue esos 3.3V.
Es importante de acuerdo a tu objetivo que la tensión sea estable.

Pero esperaré tus respuestas a este punto.

Y como cargas la batería, via panel solar?

Intenta describir todo con el mayor detalle posible o estaremos haciendo preguntas por cada duda que surja.

Qué tipo batería que estas usando? Cuantos mAh?
Cada cuanto tiempo enviarás datos, tiene que estar ON todo el tiempo o pueden estar los dispositivos en SLEEP o uno de ellos?
Ambos estarán alimentados por baterías?