"Noise" like that has nothing to do with the ADC (assuming it is an high impedance input) and all to do with your circuit. You need to lower the input impdedance with say, a 10K ohm resistor and use 1K pots.
The problem is that RAM is at a premium on the Arduino, and linked lists tend to fragment it. It is better to allocate a large chunk and create your own routine to use smaller bits for your structures.
IMHO, statically allocated arrays are better on Arduino, though since they have to be based on the largest number of entries might waste some space.