SMS command processing

Apart from losing the String variables, you’re on the right track.
You’re already using arrays.

Next step, make your storage a 2D array of numbers
e.g.
char myStorage[4][11]:
Then you have instant access to [4+1] strings of [11-1] characters each - with the trailing NULL.
(Careful - if your BUFSIZE is 11, fully qualified phone numbers can have more than 10 digits...)
e.g. +61402123456

Your ‘save’ function can become
eeprom_write_string(myStorage[index], buf);
where index is the index into your phone list.

Pulling numbers back from eeprom is the reverse.