Batch program to xcopy from host PC to remote destination with multi-processing
Technical issues:


You are reading whole files into memory at once. Consider what happens if the directory contains huge files.
You use multiprocessing, apparently in an attempt to parallelize things, and use locks to synchronize.
First, why do you need a lock anyway? Which data do you want to protect? The only shared data are in the filesystems, which could be changed by other processes at any time anyway.
Next, each call to multi_distribute_file gets its own lock instance, that is only used once by this call. So there is no synchronization happening at all.
On the other hand, if you would use a single lock for all calls to multi_distribute_file, the processes will execute one after another, as each acquires the lock for its entire runtime. Your parallelizing efforts would be in vain.
You are spawning a new process for each file being copied. This can create a huge number of processes very quickly. Consider what this will do to your system performance.
If something goes wrong in multi_distribute_file and raises an exception, the lock will never be released. And things will go wrong occassionaly as you are communicating over a network. Use a with statement instead.
Don't use string manipulation (format and re) to manipulate paths. Use os.path instead. This is saver and more reliable.


Style issues:


There are no docstrings and no comments (apart from the header)
Avoid single-letter and other abbreviated names like d, l, m, and lo. 
mydictionary is a meaningless and misleading name. Meaningless, as it doesn't tell us anything about the purpose of the variable, and misleading as it is actually a list, not a dictionary. A better name might be server_list (like you do elsewhere).