It's easyer than bfs :
bfs_search_node(Tree,Node, N) :-
bfs_search_node_([Tree],Node, 1, N).
bfs_search_node_([tree(Node, _, _) | _T], Node, FN, FN) :- !.
bfs_search_node_([tree(_, L, R) | T], Node, CN, FN) :-
CN1 is CN + 1,
append(T, [L, R], T1),
bfs_search_node_(T1, Node, CN1, FN).