There are two ways to do what you are talking about and it depends if you want to create reporting or if you are talking about a work breakdown structure.
If you require a work breakdown structure I would recommend changing your process so that you do not, or processing that purely at the PMO level. Enshrining dependencies in a tool at anything lower than the Portfolio suggests to me that you may be creating solutions to effects rather than getting to the route cause of a particulate dysfunction that is enshrined in your culture.[preachMode=false] However...
#1 - Reporting
You can create a reporting services report that presents data from both the Data Warehouse and the Cube to create the desired view.
This will give you a read-only view of data and will lead to the least invasive dysfunctions.
#2 - MS Project
You can use MS Project to load both the Parent/Child & Network items and maintain the Gant Chart with dependencies that are stored in TFS.
- I could not find a good link but there is documentation on MSDN
This will give you an interactive view of the data in the operational store, but will lead to the most invasive dysfunctions.
#3 - Project Server
If you are implementing something more like the Scaled Agile Framework then you may want to take advantage of the Earned Value management of Project Server integration as well as some of the Portfolio Management features.
I hope that you can find something to suit and you get a chance to explore the ramification of your current process on the ability of your teams and organisation to achieve any sort of agility in the new normal of the modern application lifecycle.