"How/where does linux install programs."
That is determined by the person who created the rpm package. Usually programs are installed somewhere in /usr or /opt. /usr/local, /usr/bin, and /usr/local/bin are popular directories to install programs. You can find out where a rpm package installs everything with this command:
rpm -ql packagename
"And my last question if i'm instaling from src, how do I upgrade an install I know if I have the rpm I can use -U but how would I do this from source?"
The best way to finesse the problem of keeping track of programs installed from source is to convert them into rpm packages using checkinstall.
The usual method of installing source is:
With checkinstall this becomes:
which creates a rpm package which you then install in the normal way.