Nantonos, I couldn't believe it but when I swapped the reading sequence around, indeed now A9 has a higher reading than A0. I'm still generating data as I'm typing this (around 30k data points). I probably would be able to post some results in an hour's time or so (intending to generate at least 200k readings per channel).
I did not insert any delays between consecutive reads from channel to channel. There is only a delay at the end of reading all of the channels. I suspect by inserting a delay between reads may stabilise the results. I will try that after generating this set of results.
As for whether the battery voltage remains stable throughout the test should be immaterial to the outcome of this test. A decreasing voltage should theoretically only increase the spread of data points, but should not result in the
"sweeping effect" of the voltage reading across the channels.
The picture of the circuit is as below. It's basically just a direct connection of the positive terminal of the battery to all of the analog channels being tested. The negative terminal is connected to AGND. There are capacitors across some of the analog channels to ground to reduce the ADC noise. The two crocodile clips (right at the bottom of the picture) goes to the battery.

The code that I used is as follows:
Code:
#define NUM_SAMPLES 1 // number of samples to take between intervals
#define SAMPLING_INTERVAL 1 // sampling intervals in seconds
#define SAMPLING_RESOLUTION 12 // resolution in bits
elapsedMillis sinceLastInput;
double powerDissipated = 0;
int elapsedSeconds = 0;
// the setup routine runs once when you press reset:
void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(115200);
analogReadRes(SAMPLING_RESOLUTION);
analogReference(DEFAULT);
}
// the loop routine runs over and over again forever:
void loop() {
int sensorValue1, sensorValue2, sensorValue3, sensorValue4, x;
int sensorValue5, sensorValue6, sensorValue7, sensorValue8, sensorValue9, sensorValue10;
sinceLastInput = 0;
sensorValue1 = 0;
sensorValue2 = 0;
sensorValue3 = 0;
sensorValue4 = 0;
sensorValue5 = 0;
sensorValue6 = 0;
sensorValue7 = 0;
sensorValue8 = 0;
sensorValue9 = 0;
sensorValue10 = 0;
for (x=0; x<NUM_SAMPLES; x++)
{
// // read the input on analog pin 0:
// sensorValue1 += analogRead(A0);
// sensorValue2 += analogRead(A1);
// sensorValue3 += analogRead(A2);
// sensorValue4 += analogRead(A3);
// sensorValue5 += analogRead(A4);
// sensorValue6 += analogRead(A5);
// sensorValue7 += analogRead(A6);
// sensorValue8 += analogRead(A7);
// sensorValue9 += analogRead(A8);
// sensorValue10 += analogRead(A9);
// read the input on analog pin 0:
sensorValue10 += analogRead(A9);
sensorValue9 += analogRead(A8);
sensorValue8 += analogRead(A7);
sensorValue7 += analogRead(A6);
sensorValue6 += analogRead(A5);
sensorValue5 += analogRead(A4);
sensorValue4 += analogRead(A3);
sensorValue3 += analogRead(A2);
sensorValue2 += analogRead(A1);
sensorValue1 += analogRead(A0);
// delay((SAMPLING_INTERVAL*1000 - 200)/NUM_SAMPLES);
}
elapsedSeconds += SAMPLING_INTERVAL;
Serial.print(elapsedSeconds);
Serial.print(", ");
Serial.print(sensorValue1/NUM_SAMPLES);
Serial.print(", ");
Serial.print(sensorValue2/NUM_SAMPLES);
Serial.print(", ");
Serial.print(sensorValue3/NUM_SAMPLES);
Serial.print(", ");
Serial.print(sensorValue4/NUM_SAMPLES);
Serial.print(", ");
Serial.print(sensorValue5/NUM_SAMPLES);
Serial.print(", ");
Serial.print(sensorValue6/NUM_SAMPLES);
Serial.print(", ");
Serial.print(sensorValue7/NUM_SAMPLES);
Serial.print(", ");
Serial.print(sensorValue8/NUM_SAMPLES);
Serial.print(", ");
Serial.print(sensorValue9/NUM_SAMPLES);
Serial.print(", ");
Serial.print(sensorValue10/NUM_SAMPLES);
Serial.print(", ");
Serial.println();
while (sinceLastInput < SAMPLING_INTERVAL * 10) {};
}