ENVIRONMENT
The value of the PKG_PATH is used if a given package cannot be found.
The environment variable should be a series of entries separated by
colons. Each entry consists of a directory name. The current directory
may be indicated implicitly by an empty directory name, or explicitly by
a single period.

The environment variables PKG_TMPDIR and TMPDIR, in that order, are taken
to name temporary directories where pkg_add will attempt to create its
staging area in. If these variables are not present or if the directo-
ries named lack sufficient space, then pkg_add will use the first of
/var/tmp, /tmp or /usr/tmp with sufficient space.

The environment variable PACKAGEROOT specifies an alternate location for
pkg_add to fetch from. The fetch URL is built using this environment
variable and the automatic directory logic that pkg_add uses when the -r
option is invoked. An example setting would be "ftp://ftp3.FreeBSD.org".

The environment variable PACKAGESITE specifies an alternate location for
pkg_add to fetch from. This variable subverts the automatic directory
logic that pkg_add uses when the -r option is invoked. Thus it should be
a complete URL to the remote package file(s).

The environment variable PKGDIR specifies an alternative location to save
downloaded packages to when -K option is used.

eeh well that is what I have tried and with some other variants too. with a Latest/. also as the path. First I thought that the enviroment variable was not available when I sudo but it is. So i guess I just have to look hard at the man page and find out what I'm doing wrong

Thanks for the replies, but I'm sorry to say that it is not working.
The variable PACKAGESITE is exported but it does not work.
Perhaps if I could use setenv instead, but I guess that does not work in bash. Also I cannot use setenv if I switch to sh since it complains that, setenv cannot be found. I cannot locate setenv, so I don't know if I have it. I find the man files for setenv but nothing more. That is weird since I use the standard installation of Freebsd 7

thank you for your replies, I feel somewhat honored that the two big shots here take the time to deal with this.

J65nko:
before I have exported PACKAGESITE, env |grep PACKAGESITE gives nothing
then if i export PACKAGESITE=ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-7-stable/Latest/
I get stable-7 in env | grep PACKAGESITE

Carpetsmoker:
with pf turned off and with packagesite set as above I get

env_reset If set, sudo will reset the environment to only contain
the LOGNAME, SHELL, USER, USERNAME and the SUDO_* vari-
ables. Any variables in the caller's environment that
match the env_keep and env_check lists are then added.
The default contents of the env_keep and env_check
lists are displayed when sudo is run by root with the
-V option. If sudo was compiled with the SECURE_PATH
option, its value will be used for the PATH environment
variable. This flag is on by default.

-E The -E (preserve environment) option will override the env_reset
option in sudoers(5)). It is only available when either the match-
ing command has the SETENV tag or the setenv option is set in sudo-
ers(5).

So you'll need to look at configuring sudo, or use su.

__________________
UNIX was not designed to stop you from doing stupid things, because that would also stop you from doing clever things.

My hat's off to you Mr Carpetsmoker ! -You're surely good at debugging these kind of problems.
Do you know if this is something that is mentioned often in all the guides that recommend the new users to utilize sudo?
I guess that from now on I should not overlook the manfiles of the commands that I think I understand.