così ad occhio io userei uno degli algoritmi classici per stabilire il percorso migliore (dijkstra o bellman-ford) e, a seguire una volta che conosci i pesi effettivi dei vari cammini, controllare con una funzione esaustiva (e ricorsiva) a partire dal miglior cammino disponibile se, in esso, è presente il nodo che ti interessa
ovviamente devi stare attento ai casi particolari. Ad esempio potrebbe essere possibile che il nodo da te richiesto nel cammino in realtà non abbia mai possibilità di esserci. Puoi ottimizzare un po' oppure lasciar fare tutto alla funzione ricorsiva che, da sola, a fine ricorsione esaustiva ti potrà informare sul fatto che tale nodo non è in nessun cammino valido