combine elements from two sketches

Mark - this is difficult for me to help with in detail because I don't have the same hardware as you and my Arduino is tied up with a project of my own. I think that the time has come for you to step back and start again.

Load the menu navigation sketch that works with buttons and save it with a new name.
Copy the encoder declarations and pin setup into the new sketch to create the variables.

Make a new function in the sketch called readEncoder()

void readEncoder()      //read the encoder and set lastButtonPushed to values used by navigateMenu()
{
  n = digitalRead(encoder0PinA);
  if ((encoder0PinALast == HIGH) && (n == LOW)) 
  {
    if (digitalRead(encoder0PinB) == LOW) 
    {
      lastButtonPushed = 46;
    } 
    else 
    {
      lastButtonPushed = 44;
    }
  } 
  encoder0PinALast = n;
}

At this point the sketch should still work with buttons as it is not reading the encoder. Fix any compile errors.
Change the readButtons() function to read only the button on the encoder and to leave lastButtonPushed alone unless it was pushed.

Now, before you call navigateMenu() in loop() call readButtons() and readEncoder()
readEncoder() will set lasButtonPushed to 44 or 46 if the encoder has moved and navigateMenu() will interpret that as a button push. Try this much and let us know how you get on. As I said before, once this works you can tidy up. For instance, readEncoder() could read the button as well.