For example, you can specify a relative path to "..\_Components" in the search paths:
Lazarus Projects
_Components
myunit1.pas
myunit2.pas
project1
project1.lpi
...
project2
project2.lpi
...
Or you can use symbolic links. Place your "_Components" folder anywhere, and add a subfolder to each project that is a symbolic link to it. Then you will need to specify the name of this subfolder "_Components" in the search paths.
<path>\_Components
myunit1.pas
myunit2.pas
Lazarus Projects
project1
_Components --> <path>\_Components
project1.lpi
...
project2
_Components --> <path>\_Components
project2.lpi
...
Or you can even use IDE macros and environment variables. Then you need to specify "$env(mylib)" as the search path. To do this, you will need to declare the environment variable "SET mylib=path-to-mylib" in the system, or call the IDE each time with the script "SET mylib=path-to-mylib && lazarus".
Of course, you can use packages, as suggested, or come up with something else...
Which of these is more portable (and which is harder to update when moving a project/library/IDE/PC) is a complex question, depending on your needs and knowledge (and your potential users). It also depends on the number of files in your "library", the presence of a repository in it (it is better to have one repository in a package, and not nested in each project), the number of Lazarus installations, whether you want to publish the project, and much more...