Is there a way to have the user.lib searched in my Profile directory instead of C:\Program Files\
?
I would prefer to keep that one clean...
As far as I know, you cannot change the <userlib> directory, however you can work around it.
You can add any directory into your functions palette. Tools > Advanced > Edit Palette Set. Add your directory to there. It should auto populate with what ever VIs you have in that directory.
I'm not entirely sure if that will find all the VIs when you open a VI that references one of those since it is not in your search path. Add it by going to Tools > Options > Paths [VI Search Path]. Add your path in there.
You should be aware that this will make working with other people more difficult because every time they open one of your VIs that uses a VI from your new "userlib" they will have to search for the location on their own hard drive. If you use some type of source control, every time a different person opens up a VI, it is going to change that VI to have the correct path on their machine--making it hard to tell which VIs have legit changes and which have just been recompiled. Standardizing the path between the people on your team makes development a whole lot easier.