Yes! The examples I gave you were more 'use cases' as to how I would you custom note fields, not that I expected you to implement them exactly like that :)
How I would go about this is to keep it really simple, and allow for the user to assign a 'name' (or 'title') to a few (3 should really be enough?) custom note fields. With the checkbox 'enable' you would then basically create an extra column in the timing reports/exports as well as in the 'add timing note'-popup.
The -enabled- custom fields title and values would then be available in the CSV token fieldset, so when you create an export of the timings, these (enabled) custom field columns would then be exported too.
After enabling one or more custom fields, you could add the input fields for these in the popup for adding a note to the timing. In my case I could write down the description in the first (default) note field, the ticket number in the second one (because I named the first custom field 'ticket nr'), and write down 'yes' in the third one (because I enabled the second custom field with title 'customer has SLA'). Just as an example.