Is it possible to extend the properties of a timeitem by adding custom properties? Without the need of the source code? I’m thinking that maybe it could be done by using the userreference in some way?
Yes, that is what the UserReference is for. Put an object here and that object can have any properties you can think of. We will never touch UserReference so anything you put here is your own thing completly.