One solution here could be to use the Live Merge Tag feature of GP Populate Anything. The user will still interact with the regular address field like they do now, and the hidden fields would be automatically populated with the street, city, and zip code data using the Live Merge Tag for each subfield.