This will probably help:
http://blogs.msdn.com/b/sharepointdev/archive/2011/11/18/how-to-work-with-managed-metadata-columns-by-using-the-sharepoint-client-object-model-kaushalendra-kumar.aspx
Here's what i've done to get the items:
ClientContext hrMainCtx = new ClientContext(siteURLhere);
hrMainCtx.Credentials = new NetworkCredential("username", "password", "domain");
List taxonomyHiddenList = hrMainCtx.Web.Lists.GetByTitle("TaxonomyHiddenList");
ListItemCollection taxonomyListCol = taxonomyHiddenList.GetItems(CamlQuery.CreateAllItemsQuery());
hrMainCtx.Load(taxonomyListCol);
hrMainCtx.Load(taxonomyHiddenList);
hrMainCtx.ExecuteQuery();
then for querying I've done something like this to get the specific items:
foreach (ListItem oListItem in taxonomyListCol)
{
if (oListItem.FieldValues["Path"].ToString() == countryName)
{
countryID = oListItem.FieldValues["ID"].ToString();
countryTermID = oListItem.FieldValues["IdForTerm"].ToString();
}
else if (oListItem.FieldValues["Path"].ToString() == physLocation)
{
phyLocID = oListItem.FieldValues["ID"].ToString();
phyLocTermID = oListItem.FieldValues["IdForTerm"].ToString();
}
}
hopefully this will give you some idea on how to get the items from the hidden list...