How do I compare a shipping address with a profile address field?
You could make a custom module and add in there a custom rules condition that checks exactly what you need
The tiny book of rules contains great examples how to implement custom conditions www.drupal.org/files/tiny-book-of-rules.pdf

Also you could try do the same thing with the default rules condition (e.g. entity has field and entity field has value) but i think is much more hard to get relationships this way

If you choose to go with a custom condition function I suggest you set the default argument as an order type and the use functions like this one http://www.drupalcontrib.org/api/drupal/contributions!commerce!modules!customer!commerce_customer.module/function/commerce_customer_profile_load_multiple/7 to get the shipping profile and then the address you want to compare. You may load the current user simply by using global $user; . The devel module and the dpm() function is a great help to see what is available during development in an object.