Essaye ça, mais ce n'est pas testé :

% arg1 la liste des noeuds déjà parcourus
% arg2 le noeud terminal
% arg3, la longueur éventuellement recherchée
chemin([Y | R],Y,L) :-
length([Y | R],...