How to send subscriptions to a non-primary address
You can create a new Location Type at Administer > Customize Data and Screens > Dropdown Options > Location Types. I take it that most contacts will use the Primary Snailmail address, but that a small proportion won't. So I would manually create and manage the use of the override location type for the smaller group.

There are various ways to handle the creation of the mailing labels. You could either export both primary and override addresses to Excel and then do a bit of coding in Excel to choose the override if it exists else the primary. Or you could do a bit of custom coding to provide tokens in CiviCRM that do the same thing. You could probably also do it in Smarty fairly easily if you have full mailing address for both locations in two variables exposed to Smarty.

Unfortunately I can't think of an easy way to print the labels in core CiviCRM. Maybe others will. Good luck.