I haven’t done it but it should be quite straightforward to do using Javascript. I’d opt for using the jQuery library.
Then, have the script auto complete the fields for you when the user ticks the box (and clear them if they untick it).
I can see a potential problem there if they tick the box then update some of the info so perhaps you would also need to disable the shipping address fields when the box is ticked.
You might even want to simply do the auto population of the shipping fields only when the form is submitted - this would also cover things if they changed the billing address AFTER ticking the box.
Phew!