Find changes made to a file, who made
them
You can install the TFS 2008 Power Tools which give you Windows Explorer integration for your Workspaces (local working folders). Here you can click on a Windows folder or file and View History. Latest version: http://msdn.microsoft.com/en-us/teamsystem/bb980963.aspx
...and what part (including branches
that the change was part of)
Understanding what branches a changeset moved to is not available in TFS 2008. This is basically following the merge path of a changeset and will be (is) available in TFS 2010. That said, there is the Annotate ("blame window") available via Windows Explorer right click in TFS power tools and Visual Studio via Solution Explorer or Source Control Explorer. Annotate window will show you where individual blocks in a file came from - aka which changeset and by whom.
Find files changed between 2 changesets
Not sure this I understand what you mean here. You can look at the changes included in a changeset (and between the revisions of files in that changeset), but seeing the files changed "between" 2 changesets doesn't really make much sense in my mind. Maybe you could describe this one a little more in depth.
Find branch hierarchy and changesets between branches
Branch visualization and Changeset visualization through that branch hierarchy is available in TFS 2010. Unfortunately, the story in TFS 2008 is left to convention. You can see where 1 particular branch comes from by right clicking it and selecting merge. The target of the merge will default to the source of the original branch.
Find if there have been any changes to my file since my last get latest version
Definitely. This is one thing that most don't understand about TFS and for good reason - it's kinda done for you in simple scenarios. You may notice that the Compare button is generally a "split button". That's because TFS tracks which version of a file you had when you started editing. "Compare to Workspace Version" will compare your local changes with the version you had when you started making those changes. "Compare to Latest" will compare to the latest version of that file (in the branch you're working in).