Reset ATECC508A to default?
I only have access to the unredacted 608A datasheet, but the ATECC508A and ATECC608A are supposed to be the same in this regard. Also since it's under NDA I'm only going to provide information that can be inferred from the CryptoAuthLib documentation. There seems to be enough in the source code (and some of their examples) to figure the rest out, but I don't want to risk my job.

Once a zone has been locked it is impossible to unlock that zone. 

The OTP zone is one-time programmable, and cannot be erased. 

The data zone cannot be erased once locked, but (at least for the 608A) individual slots can be set as updatable, if they contain an ECC public key and are individually locked.

A "parent" secp256r1 public key with SlotConfig.WriteConfig set to Never, and a "child" public key to update with its SlotConfig.WriteConfig set to "PubInvalid". You can use the atcab_verify_invalidate() function to invalidate the child public key with a message signed by the parent public key, then use atcab_write() to write a new child public key to the slot, and finally use atcab_verify_validate() to validate the new child key with a message signed by the parent key.

https://microchiptech.github.io/cryptoauthlib/html/a00916.html

So if you want to restore a chip to factory defaults you'll just have to throw it away and get a new one. But if you only want to update one of the public keys (and have configured it correctly to begin with) that is possible.