Addresses are mainly important for store checkout. A good way to grab the zip code first is to ask when calculating tax and shipping in the cart. When they check out, just default to the zip and state, then ask them to verify on the last step.
A good way for the server to detect user error would be to use IP2location. Unless they're using a proxy or VPN, you could add something that would ask the user to double check if their IP location was more than 100 miles from their zip code. But the user could always override that warning.
A good way for the server to detect user error would be to use IP2location. Unless they're using a proxy or VPN, you could add something that would ask the user to double check if their IP location was more than 100 miles from their zip code. But the user could always override that warning.