Wie bei einer eigenen Klasse (Stichwort: Binding, MVVM oder Hierarchical Template) zu einem Eintrag gescrollt werden kann, ist bei diesem Beispiel schön beschrieben: Introduction to Attached Behaviors in WPF. Entspricht das deiner Frage, möchte ich dich bitten weitere Stichworte (Binding, MVVM, Hierarchical Template oder andere) in deiner Frage oder den Tags aufzunehmen.
Wie wird denn das TreeView befüllt? Werden die TreeViewItems zur Laufzeit erstellt und dem TreeView hinzugefügt? Dann müsstest Du das TreeView (rekursiv) durchsuchen um das entsprechende Item zu finden (Tag-Eigenschaft?). Hast Du das Item gefunden, dann wird auch .EnsureVisible() funktionieren.