I assume you are using the C startup code to initialize the variable. Without the C startup code, the assembly code to initialize the variables has to be provided.
When using the C startup code, the dc.b will work. The key is to place the dc.b's into a section which ends up in the prm file in a READ_WRITE placement.
E.g.
MY_VAR_SEG: SECTION
variableName: dc.b $ab
And in the prm file, explicitly list MY_VAR_SEG in a READ_WRITE placement. Without the explicit placement in the prm file, the dc.b will end up in flash.
Note that the same works for C objects too. When C consts are placed in a READ_WRITE placement they are initialized by the startup code. On the other side, when (initialized) C variables are placed in a READ_ONLY placement they are defined at download time (say typically end up in flash).
Daniel