OK... I've been mildly successful with blending your's and Peter Knight's code. There some strange things I don't quite understand though
Pastebin link to save post space - Auduino with RCArduino's additions - Pastebin.com
Starting with the stock unmodified Auduino file, I've pasted yours in just before the other maps are declared (since the log map is still used by the two grain freq knobs I left them untouched). I then gave the loop getPentatonicPhaseIncrement to analog read the SYNC_CONTROL pot (analog input 4). For playability I commented off the highs and lows to a 3 octave range on the pentatonic map and told the code PENTATONIC_NOTES contains 16 entries.
It seems to play fine now, but the bizarre thing I see is that the pot on analog pin 1 which is for grain 2's decay seems to mirror analog pin 4. Why? No clue. It's not my circuit, as I can upload my previous code and it seems to behave correctly. I don't see why the code is causing this, as I didn't do anything different to the GRAIN2_DECAY_CONTROL variable (it only appears once to be declared and once to be read... neither were touched). As far as I can see it should still only affect the amplitude of grain 2.
The second thing I don't quite understand is what the nAnalogInput variable is doing. If this is an input should it be assigned to a pin? I actually tried this (assigned to pin 4), and got tons of errors (as I assumed I would... stabbing in the dark).
I haven't attempted to add more scales to test the memory issues at this time... I want to be sure everything is working correctly before building on what I've got. Sorry if these are silly novice questions. I'm still learning. The vanilla code was a lot less complicated than what we're doing here.