It is not possible to get the names of the PlayerPrefs keys at runtime. Instead you could opt for serializing your highscore table, and adding it as a string value to a fixed key in PlayerPrefs.
This is untested C#, but you'll figure it out:
// Load highscores.
string highscoresSerialized = PlayerPrefs.GetString("highscores", "");
Dictionary<string,int> highscores = MyUnserialize(highscoresSerialized);
// Update highscores.
highscores["Xavier"] = 100;
// Show highscores.
foreach ( var entry in highscores )
print(entry.Key + ": " + entry.Value);
// Save highscores.
string highscoresSerializedAgain = MySerialize(highscores);
MySerialize is a function that should turn a
Dictionary<string,int> into a string (e.g.,
MyUnserialize should perform the reverse operation.