There are some dispersions available that can be rubbed onto the outer surface of windows to make them hydrofobic (water repelling). Such nano-particle suspension may help to keep the windows free from rain-water.
The fog condition is mainly an indoor item, that may be reduced when the indoor humidity is reduced (air conditioning?)
There are several suppliers of nano-coatings for glass surfaces to make them water repellent, e.g. http://www.balconano.com/whatisbalconano.aspx. After applying such a coating the water flows away from the surface and does not stick as droplets. This will increase the visibility (transparency and reduce optical distortions of the glass).
To reduce the condensation of water on a (inner) glass surface, easiest way may be to make use of climate control and reduce the relative humidity inside the car. Another option may be to use also a coating on the inside of the window.