*Locking* of rollback segments in distributed selects has nothing to do with read consistency. Just think about it, how would it serve for that purpose? For mantaining read consistency, Oracle has to obtain a before immage of the data that has been changed since the query began. It finds those information in rollback segments. But in which one? It can't know that in advance! It can be just any or all of them. So would it lock all the rollback/undo segments? In which database? Local? Remote? Both?

It locks only one undo segment, not all of them. On local database, of course. And it's not for the support of read consistency, it's required for the purpose of two-phase commit (even on selects, not only for distributed changes).

Read the explanation here:
http://www.jlcomp.demon.co.uk/faq/dblink_commit.html