Еще в CV можно было объявить 8-разрядный указатель, присвоить ему адрес 16-разрядной переменной и обращаться к ней как к массиву, но это только для данного компилятора. Да и в текущей версии может не работать, но проверить стоит.
Код
char ptr;
int foo;
ptr = &foo;
ptr[0] = 0xCD;
ptr[1] = 0xAB;
//foo == 0xABCD;
Или можно сделать через объединение.
Код
union u_tag
{
int foo;
char bar[2];
} u;
u.bar[0] = 0x34;
u.bar[1] = 0x12;
//u.foo == 0x1234;