If you look in your .minecraft folder there are no textures of Herobrine in the mob folder or anything like that, if he appears in SinglePlayer, he has to be in the .minecraft folder somewhere or he cannot be in the game. This works for any game, for example, if you want to put a barrel or a fence in a game you have to have nodes/coding for it and you have to have textures or it simply wont show up in game play.
I have looked though every little file and folder in the .minecraft and there are no signs of Herobrine being implemented, yet Notch claims to add and take him out every single update, and ive looked thought practically ever version he "claims" to have added him and still, no sign of any Herobrine texture.
If Notch was smart, he could have simply made a texture for Herobrine in the Mob folder or in a hidden folder, and then simply just didnt code him into the game, but he didnt, he just left him out entirely. Anyone who things Herobrine is real in single player is stupid and obviously knows nothing about making games. You cant simply put things in games without having their textures/scripts, its impossible.
Herobrine can possibly appear come up in Multiplayer because Herobrine is a real account associated with Mojang, but in order for him to appear in Multiplayer someone would have to physically log in to Herobrine's account and join a random server