I have a multi-step MANUAL process to achieve the feature-class creation you are looking for. First, realize that the resulting polygon layer will likely have the same geometry repeated for those rows in your source table where the ZIP3 attribute repeats. -- and realize that this is a less-than-ideal geometry storage method.
But if it has to be that way, here is one way (not the only way) to get there:
0) Make a copy of your source data, because during this process you will be deleting rows and you should have an original copy to refer to if needed.
1) Perform a frequency on your table using the ZIP3 column to find the maximum number of occurrences of any ZIP3 value. -- you will be performing this many sequential joins...
2) Add your table, the frequency table, and the ZIP3 polygon FC to an MXD; join the table and frequency result so that each row of your table also shows the frequency of that ZIP3.
3a) Using a query definition, Reselect the COUNT = 1 from your table+frequency result, then be sure to SORT the table on OBJECTID or Primary Key column.
3b) Join the ZIP3 polygons to the reduced table above, joining on ZIP3 column.
3c) Export the polygon result to a GDB with a featureclass name ending in _001
3d) remove the join between the polygons and your table
3e) SELECT and DELETE the rows of your table matching COUNT = 1 frequency criteria.
4) repeat steps 3a - e for COUNT = 2, COUNT = 3, COUNT = 4 and so on, with the following ABSOLUTELY CRITICAL exceptions:
for COUNT = 2, you will need to export one time, then reselect only the first occurrence of the ZIPs and delete these rows in 3e, then re-join from polygons to your table, and export a second set of matching rows.
for COUNT = 3, you will need to go through the process 3 times, selecting and deleting the first occurrence of the table entries in 3e and re-joining from polygons after each sub-set is removed.
Continue this process until all the rows in your table are removed, then APPEND all the component featureclasses into a single result.
Why will this work? Each time a set is joined from the Polygons to the Table, only the first occurrence (by ObjectID) is joined to the polygon...by removing the join, selecting and deleting the exported rows, and re-joining/re-exporting, you can get the next set within the one-to-many join.
I told you it was a multi-step and MANUAL process, but it should get the repeating geometries into a single featureclass, together with the table attributes of interest to you.