What type of LCD are you using ? Character ? HD44780 based ?
For the HD44780 based character LCDs, you can configure then in 8bit or 4bit mode. In your case, it seems to be 4 bit mode. However, the HD44780 still needs full 8bit data, so what ends up happening is that you need to break up your data byte into nibbles. You send one nibble, and after a certain time duration (can't remember), you then send the second nibble.
Specifically to your question about transfering 4, you would actually send 00000100. But you break it up into 0000 0100. You have send them in a specific order, can't remember if its higher nibble first, or lower nibble. Anyways, thats what happens.
Been a while since I used a character, and I dont have my files with me, so this is just all off memory.