I know a smart group does this but smart groups are not synced to the iPhone.
property thePhoneGroup : "Phone"
tell application "Address Book"
set peeps to every person
repeat with p in peeps
if (count of phone of p) is 0 then
-- Dont have a number
-- if they are in the group then remove them
if (name of groups of p contains thePhoneGroup) then remove p from group thePhoneGroup
else
-- They have a number, add to the group
if (name of groups of p does not contain thePhoneGroup) then add p to group thePhoneGroup
end if
end repeat
save addressbook
end tell