You can program in 2010 and use C# 3.0 syntax. More than likely, it will compile just fine; but, by default your executable will target the .NET 4.0 runtime, and any machine you deploy to will have to have that framework installed.
Also, you can use VS2010 to "target" a different runtime-- ie, use 2010, but say, target for .NET 2.0 or 3.5. Check this post out: