Hi,
You can create two new zones of the type shipping zone.
In each of these two zones, you can add the states corresponding to the island (south or north).
Then, in the shipping methods, you can select one of these to zones.
Then, based on the state provided by the user in his shipping address, the system will filter the shipping methods to display only the shipping methods without a zone limit or with a zone limit which contains the state of the shipping address.
Actually, you would not even need to create these two zones. If you need for example two shipping methods (standard and express) with different prices for south and north island, you could create two shipping methods per state, so 20 shipping methods in total. Then, based on the user' shipping address, the system would display only the two methods corresponding to the state of the user. Creating the two extra zones just reduces the number of shipping methods you have to create.