Actually Atmega328p can’t run with 16mhz at voltage lower than 4.5 volts. I can run it at 4-8Mhz without crystal but then it’ll not be able to be programmed using usb. Every time we have to use isp header. Also by choosing lower frequency all the timers and pwm will be half. Secondly servo also requires 5v power to ensure proper operation.
If there is any module like power banks which can charge cells at 4.2 volts and give 5 v back to user than there will be no problem.