Given:
$pairs = { {a,b}, {c,d}, {e,f}, {g,h}, {i,a}, {a,d} };
We start by counting the occurrences of each element:
$counts = $pairs // Flatten // Counts
(* <| a -> 3, b -> 1, c -> 1 ,d -> 2, e -> 1, f -> 1, g -> 1, h -> 1, i -> 1 |> *)
... and then use those counts to assemble the result:
{#1, #2, $counts[#1] + $counts[#2] == 2} & @@@ $pairs
(* {{a,b,False},{c,d,False},{e,f,True},{g,h,True},{i,a,False},{a,d,False}} *)
Update
As noted in the question's comments (which I originally missed), there is the prospect that both elements of a pair could have the same value. In that case, we need to add Map[DeleteDuplicates] to the counting stage to ensure that each pair value is only counted as belonging to one pair:
$pairs = { {a,b}, {c,d}, {e,f}, {g,h}, {i,a}, {a,d}, {z,z}, {i,i} };
$counts = $pairs // Map[DeleteDuplicates] // Flatten // Counts
(* <| a->3, b->1, c->1, d->2, e->1, f->1, g->1, h->1, i->2, z->1|> *)
{#1, #2, $counts[#1] + $counts[#2] == 2} & @@@ $pairs
(* { {a,b,False},{c,d,False},{e,f,True},{g,h,True}
, {i,a,False},{a,d,False},{z,z,True},{i,i,False}
}
*)