I know once ports (similar to fink) is installed, any gnu commands or bsd stuff I download takes precedence over what was there before, most likely because of edits that the program made in your .profile
Correct. It adds /sw/bin and /sw/sbin to the beginning of the path. If there's more than one of the same command the one it finds first is the one it will use. Since which exists in /sw and is before the /usr/bin in the path that is the one you want. If you want to chnge this behavior, edit your PATH and move those to later in the line.