I would have one table with all demographics for the customer except the address (billing or shipping).
I would have another table for addresses.
In the form, have the person input their billing address with a "Check if shipping address is the same" checkbox.
If it is checked, have them fill out the shipping address form fields as well.
Run a query to insert both with foreign keys to refer back to the customer.
In the address table, just have an extra field called shipping or something, that is set to Y or 1 or whatever unique value to represent a yes. If it is the billing addy, and shipping addy, set it to Y. If it is billing but not shipping, don't set it and instead set the field to Y for the other address.
This way, your tables will be properly normalised, and you will be able to quickly pull the shipping addresses. I am sure others have other opinions, but that is my take on it. Good luck with whatever you do.