You can reference the library variable value in your project-specific variables.
For example, in project X, you can create a variable named smtpServ that has a value of #{smtpServer}. In project Y, you can create a variable named smtp that has a value of #{smtpServer}.
Then you can update the value of smtpServer once instead of N number of times.
I will add a note of caution here that with generic names like this, there is a chance for a collision between the names. Say that project Z already has a variable named smtpServer. In this case, you can't use the value #{smtpServer} because it would be an infinite loop. Likewise, if any other variable referenced smtpServer, it will use the project value and not the library set variable. The solution here could be to delete the smtpServer variable from the project.
I prefer to give my variable names a prefix if possible. I may name the library variable global.smtpServer and reference it as #{global.smtpServer} to make a collision less likely.