Ever tried to set custom properties for the terms in your site navigation. Recently i tried the same but ended up searching for a while, after a lot of playing around , found a way to set custom properties. Following snippet will create a new term, set the target url , catalog target url and also set a custom shared property.
NavigationTerm term1 = navTermSet.CreateTerm("Home", NavigationLinkType.FriendlyUrl, Guid.NewGuid());
term1.TargetUrl.Value = "~sitecollection/Pages/Home.aspx";
term1.CatalogTargetUrl.Value = "~sitecollection/Pages/Home.aspx";
term1.ExcludeFromCurrentNavigation = true;
As you can see NavigationTerm has a method to get the underlying term and then from there it’s straight forward.
Hope this helps.