Interesting post. I've been working on my own habits within the framework of the GTD system.
What I do is create a project with the stated objective and add its actions to a context labeled @daily:
E.g., If I want to do better at flossing each day, I create a project such as "teeth/gums in good shape." Then I create a next action: floss @daily. (Sorry for the admittedly gross dental hygiene example.)
Or I might create a project: Running 5 days a week. Again, I create an action: run @daily.
The result is an @daily context list with everything I want to accomplish on a regular basis. I make sure to consult the daily checklist several times a day.
During my weekly review, I take stock of how well I did on building good habits over the course of the week.