Can I switch between two analog references to read signals with different ranges with the ATmega328P?
No problem at all.
No.
Take multiple readings and average them.  Also, the internal voltage reference isn't wonderfully stable.  Better to use an external voltage reference chip.  I often use an MCP4821 / MCP4822 DAC chip so I can program a precise voltage reference down to 500µV resolution.