To answer #3, create another data connection (DC) to the same list. When the dropdown value changes, create a rule that set the queryField on the new DC of the NAME to that dropdown value. Then run the query against that DC. It should return the Phone Number that matches that entry which you can write back to your form via rules.
Anson Hidajat
Qdabra® Software/ InfoPathDev.comThe InfoPath Experts – Streamline data gathering to turn process into knowledge.™