How do I determine what is the highest practical value of R2, R3, and
R4 can be? Can I use Megahoms values?
It really depends on how much noise you can tolerate in your design.
This chart can help you calculate the noise, first, you need to know the low pass cutoff for your ADC (every ADC needs a low pass filter or it will alias) and the Nyquist cutoff is lower than half the sampling frequency.
Let's say the Nyquist is 10kHz, we would use the green line and look up the resistance:
1MΩ is 10uVrms
100kΩ is 5uVrms
So that is about as much noise as you'd see on the ADC for a 12bit ADC and 3.3V range;
3.3V/2^12= 805uV
So 10uV isn't going to matter too much but for a 16 bit AC that has a 50uV per bit, you might start to notice it.
Source: https://www.rfcafe.com/references/electrical/noise-power.htm
This is for DC measurement and the output Vdiv goes to the microcontroller
ADC. Also, would it help to have a buffer going to the ADC?
The ADC also pulls current which changes the measurement, so the higher value you make the bridge the easier it is for the ADC to change the DC value (think of the ADC as a resistor pulling current, the current can be found in the datasheet usually listed as bias current or input current). If DC values are important, then buffering with an op-amp can limit this problem.