several problems come up with this
1) you can use $chr(160) in many fonts, it is a "non priniting character" like $chr(32) "plain space" but mIRC doesn't truncate repeated instances in a string.
2) you can play a text file to a channel and spaces will stay, provided that you do not need to parse commands in the lines, then mIRC will once again remove multiple spaces, the use of $chr(160) can be used as above.
3) tabs will work in @windows but I do not think they will work in channel/query