The house I bought has a programmable Honeywell furnace. It only has a 2 wires connected to it - a black wire and a white wire. The heating system is working fine, except that when the heater is not engaged and I turn the fan switch to ON the fan does not come on. It will only come on when the furnace is on. This must because a G wire is not hooked up. Would I have to run a wire from the furnace to the thermostat to do this?
I would make the assumption that the furnace and fan wires are "bonded" together somewhere between your thermostat and your control board, therefore sending 24vAC to both relays and turning both on.
I'm assuming you don't have AC since you don't mention it, so in this circumstance you're probably looking at needing four wires -- ground (C), fan on, furnace on, and a positive feeder (R) (to power the thermostat and to send back to the relays).
To make the house more future-proof, I'd run more wires than needed in the event AC is ever added or the system changes configuration.
I have casual knowledge of HVAC, but in my experience of designing microcontroller-based thermostats, this is generally a good idea.
If you want separate control of the fan, you're going to need at least one more wire.
As it currently sits, the fan is being controlled by the furnace control module, or internal furnace wiring. The thermostat simply tells the furnace when it's cold, and the furnace orchestrates turning on the heat and fan.
As Robert Lerner points out. If you're going to have to pull a new cable anyway, you'd might as well install a cable with at least five wires in it. That will allow you to have independent control over the fan, and to be able to install A/C and/or a fancy WiFi thermostat in the future.