Non serve un altro ciclo, puoi fare tutto dentro il while.
Codice PHP:
$inizio = '2018-05-01';
$fine = '2018-05-05';
$date = new DateTime($inizio);
$intervallo = new DateInterval('P1D');
$lettere = ['a','b','c'];
$num_lettere = count($lettere);
$i=0;
while ($inizio <= $fine)
{
echo $inizio . ' ' .$lettere[$i%$num_lettere] . '<br/>';
// Data giorno successivo
$date->add($intervallo);
$inizio = $date->format('Y-m-d');
$i++;
}