VB has a SerialPort object. Use that to open the serial port that the Arduino is connected to. Write data to the serial port. The VB side is simple.
You could use Firmata on the Arduino, and the corresponding dll on the PC side, but you will really understand what is happening if you develop and implement your own protocol.
A protocol is simply a defined set of commands with expected behavior. As you mentioned, a command can be as simple as 0x0F meaning to turn all pins off, and turn pin 13 on. Or, you could get more complicated with two byte commands. 0x0D, 0x01 could mean to turn pin 13 on, while 0x0B, 0x00 would mean to turn pin 11 off. You could have a command like 0xFF, 0x00 to turn all pins off, and 0xFF, 0x01 to turn them all on.
You could expand the idea, and turn multiple pins on and/or off in one operation.
Try writing some code, and post it here if you get stuck.