OILH Rx,X'xx00' is safe and efficient after the length is loaded in any normal way. I use IILH sometimes when I know the length is <64K-1. But there's no rational reason for that.
LLILH Rx,X'xx00' is safe and efficient if you want to insert the length afterwards. Only reason I can think of is if length is an unsigned halfword in memory. These don't allow for some dynamic specification of the pad character. I've never had that case, but if you do, then ICM Rx,B'1000',pad would be how I'd do that. sas
