А чем тебя DWORD не устраивает - как раз 4 байта.
Менять порядок - с помощью масок и сдвига.
Если я правильно помню, то надо их менять парами:
Код:
const
HiMask = $FFFF0000;
LoMask = $0000FFFF;
var
InWord : DWORD;
OutWord : DWORD;
HiWord : DWORD;
LoWord : DWORD;
begin
InWord := $1111AAAA; // Исх. данные
HiWord := InWord Or HiMask;
LoWord := InWord Or LoMask;
HiWord := HiWord Shr 16;
LoWord := LoWord Shl 16;
OutWord := HiWord Or LoWord; // Получаем результат
ЗЫ. Код написал максимально развернуто, что бы был понятен алгоритм. Естественно, его можно оптимизировать как по памяти, так и по кол-ву операций. Здесь обмен местами слов, если надо поменять местами еще и байты, то делается это аналогично.