It is possible.

Except it's not really making an EXE from scratch, (you would need a compiler). You make 2 EXEs, one that "modifies" the other one, and one that reads from itself.

I wrote an example on here along time ago, it might be what you're looking for.

See this thread:

http://www.vbforums.com/showthread.php?t=332646