If you have the addresses in one table adresses, you can define a column "default_address" (in the table customers) that is a non-null foreign key reference to the address that must be provided.
If you have a table shippings that provides an optional many-to-many relationship by referencing a person, an address and maybe an order(-item), then you could use coalesce to overwrite the NULLs for addresses you get in an outer join between (customers inner join orders) and shipping_addresses (a view joining shippings with addresses). But to prevent problems with maybe different numbers of non-null components of addresses, Stephane Faroult recommends in his (strongly recommended!) book The Art of SQL to use the "hidden sort key" technique (assuming that customers_with_default_address is a view joining customers with addresses using "default_address":
select *
from (select 1 as sortkey,
line_1,
line_2,
city,
state,
postal_code,
country
from shipping_addresses
where customer_id = ?
union
select 2 as sortkey,
line_1,
line_2,
city,
state,
postal_code,
country
from customers_with_default_address
where customer_id = ?
order by 1) actual_shipping_address
limit 1