So to give you some direction. Permanent codes are a new thing is 2010 and newer vehicles so folks are not up to speed on them yet. With the check engine light off and a permanent code present does not mean there is anything wrong with your car. It means there WAS something wrong with your car and those codes are going to stay around a while to make sure you fixed it right. If not for a CA SMOG you can basically ignore Permanent codes they are not hurting anyone hanging around inside a ECU.
You cannot clear a permanent code with a scanner or battery disconnect.
You can pass a CA SMOG check with a permanent code in place as long as you have these items in place:
No Check Engine Light
Monitors Complete (Except for EVAP, that can be incomplete)
And this is the important part: Driven 200 miles and have 15 Warm Up cycles since the last time the DTC's codes were cleared.
Now doing this 200/15 task will not clear the Permanent code but rather the CA SMOG machine has been programmed to ignore the
Permanent code if 200 / 15 is complete. Info from the BAR:
Permanent Diagnostic Trouble Codes
Warm up cycles are simply the engine getting up to a normal operating temperature then cooling back down below a certain temp. Below is a video of a guy forcing them on a car with a fan to aid in cooling things down. This can be done in your driveway if you want.
Most scanners should have the Data PID's that will show you how many warm up cycles you have done and how long you have driven. If those are better than 200/15 you are good to go for a smog. Look in your "DataStream" or "Live Data" list
If you go for the smog and the inspector turns you away because of a permanent code tell them to kindy run your vehicle through the test. It's not thier job to save you from a fail. They are to run the vehicle as it is presented, that is what the BAR tells them.
If they wont give you a test file a complaint with the State BAR and keep trying another place. I got a guy with 4 complaints in on shops.
www.dca.ca.gov