I have seen a few todo apps that update their app badges at midnight, always showing the correct number of due tasks. They do this without the use of Push Notificat
For Objective C you have to use:
[[UIApplication sharedApplication] setApplicationIconBadgeNumber : anyNumber ];