Righty-ho. This is based on a spreadsheet like this with named columns in Numbers 3.5. (The rows must be consecutive - the script moves on as soon as it sees an empty row):

With the spreadsheet open, run the following AppleScript. It will create a group called Christmas List in Contacts, and then import the name and address data from the spreadsheet, adding each person to the group:
tell application "Numbers" to tell front document to tell active sheet to tell table 1
set all_contacts to {}
set row_count to count rows
repeat with each_row from 2 to row_count
set nu_contact to {}
set first_name to value of cell each_row of column "First"
if first_name is missing value then exit repeat
copy first_name to end of nu_contact
copy (value of cell each_row of column "Last") to end of nu_contact
copy (value of cell each_row of column "Address1") to end of nu_contact
copy (value of cell each_row of column "Address2") to end of nu_contact
copy nu_contact to end of all_contacts
end repeat
end tell
tell application "Contacts"
set group_exists to (every group whose name is "Christmas List")
if the result is {} then
makenewgroupat end of groups
set name of the result to "Christmas List"
save
end if
repeat with each_contact in all_contacts
activate
set nu_person to (makenewpersonwith properties {first name:item 1 of each_contact, last name:item 2 of each_contact})
save
makenewaddressat end of addresses of nu_personwith properties {street:item 3 of each_contact, city:item 4 of each_contact}
save
add nu_person to group "Christmas List"
save
end repeat
end tell
Contacts will look like this:

With the Christmas List group selected in Contacts, go to the Print menu and choose the label format you want:

Once the labels are printed, select all the names in the Christmas List Group and press the delete key:

Click the middle "Delete" button and the contacts will be gone.You can then delete the Christmas List group itself.
This can also be done in Numbers 09, but the script would have to be modified slightly.
Hope it helps,
H