I am reusing items from a previous project that used some of the same parts in a new one. These reused items are in the folders created for the respective projects. Every time I open the assembly, all of these items are listed as missing and must be retrieved manually by navigating around the file tree. I do not have the room to make duplicates of these items, as they are themselves complex assemblies, and I cannot move them as this will break older designs that are still needed. Is there someway to hard link to them so that they load properly every time?
This is not hard. But I recommend you review the included help files 1st. Just search the two statements Joshua included: search_path and search_path_file.
Search path statements in config.pro can be used if the number is limited, but for simple management of the search path, it is recommended to place all the paths in a search.pro file that can be accessed by everyone (on a common server somewhere is recommended). This way, you can manage your library from one location.
What Joshua said... and you can move these parts to a more forgiving library. With a search path defined in all versions of Creo/WF/and Pro|E, your older assemblies will also benefit from the "shared library" locations.
The biggest hurdle is coming up with a good library scheme. Once you have a scheme, you can make an intelligent search path file.
If your design intent is to always refer back to the original parts and see any changes made to those parts, the library scheme is the correct approach.
If you want the new assembly to be 'portable', commonly used to send an assembly to someone else, you can capture a snapshot of the assembly using the File > Save As > Save a Backup option. This creates a copy of the assembly, sub-assemblies and all part files in a directory you specify. The downside of this approach is, any changes made to the parts in their original locations will not be propagated to the backup.