EDIT: The forums don't seem to like my formatting, so the bold statement doesn't seem to be bolded, I think its pretty clear which part I'm talking about (hint, it starts: "(SELECT" and ends "As PhoneNum").
Let me prefix this, possible, solution with two things: First, I don't have direct access to a DNN installation, so it might not be 100% accurate, and second, don't worry about that paypal donation if it works, I'm just happy to help :)
SELECT
U.FirstName,
U.LastName,
U.Email,
(SELECT PropertyValue FROM UserProfile WHERE
UserProfile.UserID = U.UserID AND
UserProfile.PropertyDefinitionID = 31) As PhoneNum
FROM UserPortals AS UP
RIGHT OUTER JOIN UserRoles UR
INNER JOIN Roles R ON UR.RoleID = R.RoleID
RIGHT OUTER JOIN Users AS U ON UR.UserID = U.UserID
ON UP.UserId = U.UserID
WHERE ( UP.PortalId = 1)
AND (R.RoleName = 'Registered Users')
ORDER BY U.FirstName + ' ' + U.LastName
That solution may not work because it uses a hard-coded value for the Property Definition ID, if it doesn't work, check the Profile Property Definitions table (not 100% sure on the name, but its something like that), find the home phone number property and replace the '31' in the above, bolded, SQL with that number. If you need any other values from the profile, you can just copy the bold SELECT query above and change the '31' to a different property definition ID.
Hope that helps!