if the language would allow (never used this compiler) an easy way to (usually) ensure something ends up as a constant in the data section with a pointer to it (instead of inline with the code), putting it as a pointer to a constant in global space is usually what you want:

Code:
char *lockup_min_spd = 0x05;

void function() {
  if(lockup_min_spd >= current_spd) /* do whatever */
};
of course the compiler will put it wherever the hell it wants in the binary, but locating it in the binary is easy after, just compile two versions, one 0x05 and one 0x06 and see what changes. then throw the location and any conversion in the xdf, and you're good to go.

what you're trying to avoid by doing this, is the compiler going "oh! it'll be faster if we just replicate the data in this case" (or worse, using a #define, that pretty much forces it to replicate when used). that would mean you'd have to have two or more constants in your XDF that do the same thing, which would be dumb.

many compilers will screw you over and optimize it out sometimes if you put it in local function scope, or do all sorts of trickery or optimizations on the value..