Where did my price field go? It's missing!
I solved this by looking in the civicrm_price_field table and noticed that the missing price field had an expiry date of '000-00-00 00:00:00' vs. NULL for other expiry dates. Setting the price field expiry to NULL allowed the price field to be redisplayed.
On the configuration screen, those two values both appear the same.
Conclusion: a '0000-00-00 00:00:00' in a price field row expiry field should be considered invalid/error.