ok this is just a comment before i consider this thread dead. i gues everyone lost interest and i dont blame em' but by colluding together several examples on little-scale.com i came up with the following code:
/*
8 to 1 mux
by Sebastian Tomczak
8 June 2007
Adelaide, Australia
//////
Modified by Seth Ferris
29 Sept 2007
*/
// init serial values
byte data_in = 0; // stores incoming byte
byte data_send = 0; // stores outgoing byte
int anPin = 0; // set analog pin
// setup begins here
void setup() {
Serial.begin(57600); // open serial port
DDRD = B00011110;
}
// main program begins here
void loop() {
if(Serial.available() > 0) { // if there is a byte received on RX...
data_in = Serial.read(); // read into variable
if(data_in == 76) { // if the received byte is 76 ("L" is for Listen to Arduino)...
for(int anPin = 0; anPin < 16; anPin++) {
PORTD = (anPin % 8) << 2;
data_send = (analogRead(anPin / 8)) / 4;
Serial.print(data_send);
delay(5);
}
Serial.flush();
}
}
}
and it works great with this patch i whipped up again based on little scale and arduino2max:

the only issue is that for whatever reason my pot is still being read on port 3 when it should be read on port 2
its is consistently wrong as opposed before when it would change ports based on where in the loop it started reading the data.
if anyone sees the flaw in my code i would greatly appreciate the input otherwise i only get 15 pots instead of 16! thanks again for everyone's help up to now.