Win32SDKだと次の定義になってる。この程度なら直接書こうが関数にしようが問題なし。
#define LOWORD(l) ((WORD)((DWORD_PTR)(l) & 0xffff))
#define HIWORD(l) ((WORD)((DWORD_PTR)(l) >> 16))
こういうのがC#で必要になるのはP/Invokeを使ってるか、
固定レコードタイプのネットワークパケットを扱ってるかくらいしか思い浮かばない。