Combination input buttons... Please help!!

For your queue: use an array with three elements, each which contain a song name. Basically a 2D array. Use an index variable that keeps track of which is the next to play and which is where the next entry is to be placed. These two can be the same if the array is empty (in which case you don't start playing the next song).

byte nextSongIndex = 0;
byte nextInputIndex = 0;
char songQueue[3][3];

void loop() {
  if (nPresses == 3) { // Three buttons have been pressed: play the requested song.
    // play song songQueue[nextSongIndex].
    nextSongIndex++;
    if (nextSongIndex == 3) nextSongIndex = 0; // Roll over.
  }
}

Store button presses in songQueue[nextInputIndex][nPresses].

You need some smarts to keep track of everything, this is just a starting point of course. Maybe add a queueFull boolean that tells you whether the queue is full or empty, as in both cases nextSongIndex == nextInputIndex.