I don't have a total solution to show cross-project dependencies at the project or program level. However, I have created a custom column when viewing tasks that shows their Cross-Project Predecessor(s) and the project(s) they are in.
I imagine that you can also show the program(s) that the project(s) is in.
displayname=Monitored Project / # Task listdelimiter=, listmethod=nested(predecessors).lists textmode=true type=iterate valueexpression=IF({isCP}="true",CONCAT({predecessor}.{project}.{name}," / ",{predecessor}.{taskNumber}," ",{predecessor}.{name}),"") valueformat=HTML
Here is a custom column to show the cross-project Successor task(s) and project(s) they are in.
displayname=Monitoring Project / # Task listdelimiter=, listmethod=nested(successors).lists textmode=true type=iterate valueexpression=IF({isCP}="true",CONCAT({successor}.{project}.{name}," / ",{successor}.{taskNumber}," ",{successor}.{name}),"") valueformat=HTML