I think using a table element would be the best way to achieve this, or a simple two-column grid for each month's contents.
If you need all of the info to be input in a single rich-text field, maybe you could have the dates, e.g. 3rd, 4th, be bold, then add some custom code that selects bold text within that rich text field and gives it a minimum width. I'm not sure if that would work though.