The problem I see with this query is that you'll get many more combinations than you want (e.g. if you have two addresses and three phones you'll get six rows back, times as many rows from nbamdf2 that are returned).
I'd probably keep these as four separate queries instead of one join.