You can create the counter field with and column defined with the IDENTITY property. Then daily you can reset the identity value with the following command:
DBCC CHECKIDENT(tablename, reseed, 0)
Schedule this as a job using SQL Server Agent. The only issue might be one of timing. You may not be able to guarantee that the value is reset before a value is written to the table at 1200AM.
-Mike