I should preface this by saying I’m by no means an export at model design, but I have some thoughts I’d like to share.
If your model is relating postal codes to some geographical feature, then you should choose an encoding where small differences in a value correspond to small differences in geographic location.
This stackexchange thread has a lot of good discussion on the topic. I particularly like the idea of splitting the Earth (or US) into a quadtree and encoding zip codes as regions of the quadtree since numerically similar quadtree regions correspond to geographically similar areas.
You can also provide additional data based on the geographical location if it would help your model. For example, if you’re predicting the weather, I’d suggest adding “distance from a body of water / the ocean” as an input (which can be looked up / computed from the geographical location). (alternatively, you can tell the model what quadtree regions are water and let it figure it out).
I hope this helps!