How to denote separate records as "one and the same"?
Here is a suggestion   users_equal_user

create table  user_equal_user (
ueu_user_id int primary key ,
ueu_link_user_id int);


Select * from users where user_id in
(select ueu_link_user_id from user_equal_user where ueu_user_id = pass_in_user_id);


This will provide a many to many relation your looking for and be unlimited

EDITED OP asked how to deal with A=B=C=D to get all the other cross linked ids
so here is some untested code that should get you close 

create or replace function get_associated_ids(puser_id int,  
                                       puser_id_matched int[] )
 RETURNS table(user_id int, user_id_linked int)
    LANGUAGE 'plpgsql'

    COST 100
    VOLATILE 
AS $BODY$
declare
    _r record;
    _found int;
    _matched int[]; --use to block already processed ids,  
                    --this is here encase  of a
                    --bad entry that creates a circular 
                    --reference that would create an endless 
                    --recursive loop

begin
        _matched = array_append(puser_id_matched, puser_id);
        for _r in Select ueu_user_id, ueu_link_user_id 
                    from user_equal_user 
                    where ueu_user_id = puser_id 
                        and ueu_user_id &lt;&gt; any(puser_id_matched)
                        and ueu_link_user_id &lt;&gt; any(puser_id_matched) ; 

            select ueu_user_id into _found  from user_equal_user 
                     where ueu_user_id = _r.ueu_user_id;
            if found then
                    _matched = array_append(_matched, _found) ;
                    return query ( select * from 
                            get_associated_ids(ueu_user_id, _matched ) );
            end if;
            user_id = _r.ueu_user_id;
            user_id_linked = _r.ueu_link_user_id;
            return next;
        end loop;
end;
$BODY$