Pretty simple, at the start of the quest in a state after Begin, place the DoneDaily(x) rule where x is the times per day the quest can be done, and in the end of the quest sequence instead of using Reset() use ResetDaily().
Essentially, everytime you call action ResetDaily(), you are doing a +1 to times complete. Also, Reset() should behave differently if a ResetDaily() is active. You should use Reset() to end a quest that has maxed out the DoneDaily(x) rule. Reset() will return to Begin on the next NPC interaction
without increasing the times completed.