I'd like to create an event that repeats every 31 days. Unfortunately, Google Calendar only let's me select a value up to 30 days.
I don't think that this is possible. They are doing server side checks as well and unless Google will decide to add more days, from the client side is not doable.
Create an ICS file with a custom recurrence rule (RRULE). For example, for an all-day event repeating every 31 days beginning 24 February 2012:
BEGIN:VCALENDAR BEGIN:VEVENT DTSTART;VALUE=DATE:20120224 DTEND;VALUE=DATE:20120224 RRULE:FREQ=DAILY;INTERVAL=31 DESCRIPTION: LOCATION: SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Roughly Monthly Event TRANSP:TRANSPARENT END:VEVENT END:VCALENDAR
To import the ICS file: In the left-hand list of "My Calendars", click "Settings", then "Import Calendar" link. You can then move the event over to any other calendar if you'd like, but you won't be able to edit it from Google Calendar, aside from deleting it and reimporting.
If this helps, you may wish to read more about the flexibility offered by custom recurrence rules in the iCalendar specification.