Response # 1: With the written authorization of each employee, obtained after the overpayment happened, and specifically authorizing the company to deduct the amount of the overpayment from the next paycheck, I think this should be permitted, even in California. But, don't rely on a blanket authorization signed upon hire or otherwise not obtained specifically in reference to this situation.1
Response # 2: In California, the overpayment may only be recouped from the employee through payroll deductions if (1) the employer and employee enter into a written agreement for the specific amount of the deductions based on the voluntary consent of the employee and (2) the employee receives no less than the minimum wage for all hours worked in the pay period. Also, the deduction cannot be made from the employee's final paycheck (even with voluntary written consent).
As for whether the employee can be terminated if he or she chooses not to voluntarily pay back the money, the concern is that if the only choices are repayment or termination, the payment would no longer be voluntary. The California Labor Code also has a broad retaliation provision, which makes it unlawful to discharge an employee "because of the exercise by the employee . . . of any rights afforded him or her."
Under federal law, this would be treated as an advance on wages and can be deducted, even if it causes the employee to fall below the minimum wage.2