A quick thought on the need for a patch... instead of doing that, you can really just use hook_form_alter() for the checkout form. If the conditions pass (no existing order - check $_SESSION['cart_order'] - and items only come from one wishlist), then set the default values to the address fields for the wishlist.
About the address handling, I've been thinking about this some more and would be open to discussing it if you started a thread in the development forum. I just don't have any good ideas on design/implementation at the moment. Well, I have some, I just don't know if they're good or not. 



Joined: 08/07/2007