dic.ForEach(c => c.Key.GetType()
.GetProperty("Text")
.SetValue(c.Key, "Something",null));
Тотальный взлом, возможно, не эффективен, но он должен работать ....
РЕДАКТИРОВАТЬ: Еще одна вещь, которую стоит упомянуть, если вы используете .Net 4, вы можете использовать утку набрав:
dic.ForEach(kvp => ((dynamic)kvp.Key).Text = "Something");