Right now state law makes it perfectly legal for state agencies to fire somebody for being gay (or, for that matter, straight), although both Gov. Tim Kaine and his predecessor, Mark Warner, have issued executive orders enacting such prohibitions, though the current executive order will expire with Kaine’s term in January. (Kaine’s executive order was his first action in office, in fact.) The Republican candidate for governor, Bob McDonnell, opposed Kaine’s executive order, and issued an opinion against it in his capacity as attorney general in 2006. Executive orders don’t have the legal strength of a law—in March Martinsville’s Virginia Museum of Natural History fired a man for being gay.
The General Assembly is no stranger to debates over the topic. I sat in on a debate over a bill that would prohibit such discrimination back in February of 2006 and, while it was hilarious, it made it pretty clear to me that a bill like this won’t pass so long as Republicans control the House of Delegates, regardless of what Charlottesville City Council wants Richmond to do.