Podrías iterar sobre la lista acumulando resultados, más o menos así:
List<string> laLista = new List<string>() {"4", "5", "6", "7"};
List<PGCEmpresa> resultados = new List<PGCEmpresa>();
foreach (string prefijo in laLista)
{
resultados.AddRange(db.PGCEmpresa.Where(p => p.Cuenta.StartsWith(prefijo)));
}
return resultados;
Evidentemente, esto genera una consulta al servidor por cada item de la lista. Si necesitas aumentar el rendimiento, probablemente sería preferible agregar dinámicamnte un "or" por cada elemento de la lista, pero eso será significativamente más complejo.