Compile time calculations in C
Since these are only 8 bit numbers, you could safely use an enum. Pick some code prefix that makes sense - I don't know what your code is supposed to do so I used STUFF_ as place-holder, to be replaced by a better name.

enum
{
  STUFF_REPORTED     = 0x10,
  STUFF_EVENT_LOGGED = 0x08,
  STUFF_TIME_LOGGED  = 0x04,
  STUFF_ARCHIVED     = 0x02,
  STUFF_GLOBAL       = 0x01,
};


Then simply create a macro for each case:

#define STUFF_EVENT_TIME_LOGGED ( (uint8_t)(STUFF_EVENT_LOGGED | STUFF_TIME_LOGGED) )


Making a function-like macro such as Create_properties gives no benefit, since it might be confused for a function and will have zero type-safety, making it hard to read and dangerous both. So I wouldn't recommended it, function-like macros should be avoided if possible. But of course it can be done too:

#define Create_properties(reported, event_logged, time_logged, archived, global) \
  (uint8_t) ((reported) | (event_logged) | (time_logged) | (archived) | (global))


Notably, your casts to uint8_t were completely pointless, because each operand of | will get integer promoted to int anyway. If you should cast to something before the | takes place, it would need to be uint32_. Or you can just cast to uint8_t after the operation, as in my macro above.
See Implicit type promotion rules to learn more.