Só pra informar que consegui fazer o que precisa, percebi que o tipo do retorno da função não estava compatível com o retorno que estava solicitando, então fiz da seguinte maneira:
Criei uma entidade para representar as Regionais com apenas dois campos Id e Descrição, ambos string, e criei um DAO para ele também.
Chamei a função do DAO para buscars os registros e montei o select na view. o código ficou assim:
Entidade
public class Regional
{
public string Id { get; set; }
public string Descricao { get; set; }
}
DAO
public class RegionalDAO
{
private Contexto db;
public RegionalDAO(Contexto contexto)
{
this.db = contexto;
}
public IList<Regional> ListarPares()
{
return db.Cidades.GroupBy(c => c.Regional)
.Select(group => new Regional { Id = group.Key, Descricao = group.Key })
.ToList();
}
}
Controller
public ActionResult Index()
{
ViewBag.selectRegionais = regionalDAO.ListarPares();
return View();
}
View
<div class="col-md-2 col-xs-12">
@Html.LabelFor(p => p.Regionais, "Regionais:")
@Html.DropDownListFor(p => p.Regionais, new SelectList(ViewBag.selectRegionais, "Id", "Descricao"), new { @class="form-control"})
@Html.ValidationMessageFor(p => p.Regionais)
</div>
E pra auxiliar coloquei a entidade Regional na minha ViewModel de pesquisa
public IEnumerable<Cidade> Cidades { get; set; }
public IEnumerable<Regional> Regionais { get; set; }
Não sei se foi a melhor forma , mas resolveu, obrigado pela ajuda Marcelo.