Your LINQ query isn't structured correctly. Try this...
var optionItems = (from X in webBrowser1.Document.GetElementsByTagName("select").Cast<HtmlElement>()
where X.GetAttribute("name") == "starting_date" select X.GetElementsByTagName("option"));
if (optionItems != null)
{
dynamic optionToSelect = (from X in optionItems.Cast<HtmlElement>() where X.InnerText == "18" select X).FirstOrDefault();
if (optionToSelect != null)
{
optionToSelect.SetAttribute("Selected", Convert.ToString(true));
}
}