You are doing an identical analog read and map each time through each of those inner loops.
Given that the analog input value is not going to change in any significant way over the microsecond timescale this seems very wasteful; better to read each input once, do whatever mapping/conversion you need on the value and then use that as many times as you need.
I'm not sure what your output code is doing, but you are repeatedly updating chanVal without using the values afterwards until you get to the 'has anything changed' code, so all the intermediate updates seem pointless since they will be overwritten. This makes me suspect you may have a logic fault, but since I don't know what the sketch is supposed to do it's impossible to say whether it's faulty or just inefficient. Similarly, you are output values to the port registers at a very high but uncontrolled rate; is this useful?
It looks to me as if the sketch should be able to run substantially faster than your serial port is capable of logging the output. Probably, if the output is intended to do anything useful, you ought to be controlling how frequently this code runs. The 'blink without delay' example sketch shows you how to do that.