No, I've already implemented "Enthusiast"... what you do is record a person's first visit as "oldest_consec" and "last visit", then every time the person visits, check their last visit, and if it is more than a day ago, reset "oldest consec". If not, count the days since "oldest_consec" and if it is greater than x, award the badge. Either way, update "last_visit" each time.
I've also added a "posts_edited" field, allowing me to implement "Copy Editor". There is an "on edit" event that allows this. All I had to do for most of what you say is create a table in the db to record badge-specific data.
I agree that there might be intense load with all this going on. I'm not a server expert, so I can't say. Maybe I can go ask on Server Fault what sort of load this would generate...