How to work with 4 sets of data and 2 variables?

Sounds like a "circular buffer" to me.

struct {int _RPM; int _MPH;} Entries[4];
byte BufferPointer;

void addEntry(int RPM, int MPH) {
    Entries[BufferPointer].RPM = _RPM;
    Entries[BufferPointer].MPH = _MPH;
    BufferPointer = (BufferPointer+1) % 4;  // Modulo operator to give a 0..3 answer
}

   //  Entries[BufferPointer] is the oldest entry
   //  Entries[(BufferPointer+1) %4] is the second-oldest entry
   //  Entries[(BufferPointer+2) %4] is the third-oldest entry
   //  Entries[(BufferPointer+3) %4] is the newest entry