RivEX provides a suite of tools for measuring distances between points along a river network. It has tools for returning for each point all downstream points as you travel downstream towards the river mouth as well as returning the nearest up stream sites. The tables generated could then be summarised to return nearest next upstream/downstream site. More information can be found on the helphelp page.
This kind of analysis could also be applied to barriers to fish migration along networks.