Você terá que juntar a tabela b duas vezes, e sempre usando um nome de tabela diferente (b1, b2) usando
as
select *
from a join b as b1 on a.to = b1.lid
join b as b2 on a.from = b2.lid
então o resultado seria
--------------------------------------------
|a.uid | a.to | b1.name | a.from | b2.name |
--------------------------------------------
| 1 | 1 | one | 2 | two |
--------------------------------------------
mas o que você provavelmente quer é evitar conflito de nomes - se você, por exemplo, chame-o do PHP - então também renomeie as colunas:
select a.*, b1.name as toName, b2.name as fromName
... (rest of the query as above)