Du måste gå med i tabell b två gånger och varje gång använda olika tabellnamn (b1, b2) med as
select *
from a join b as b1 on a.to = b1.lid
join b as b2 on a.from = b2.lid
så resultatet skulle bli
--------------------------------------------
|a.uid | a.to | b1.name | a.from | b2.name |
--------------------------------------------
| 1 | 1 | one | 2 | two |
--------------------------------------------
men det du förmodligen vill är att förhindra namnkrock – om du t.ex. kalla det från PHP - så döp då även om kolumnerna:
select a.*, b1.name as toName, b2.name as fromName
... (rest of the query as above)