It seems to me that your question is actually about 2 issues: only "licensed" user can run your plugin; secure the plugin DLL to prevent "physical access" (so some one may decompile the DLL to see the code logic).
Since you want to somehow "licensing" the plugin, obviously, the user would be the public AutoCAD users at large, not internal users in a corporation, right? The simplest way would be publish the plugin to Autodesk's App store and take advantage of its user entitlement API. That means you code the entitlement verification into the plugin, so when the plugin loads, or a command of the plugin runs, the code would use the entitlement API to access Autodesk's app store to verify if the user's entitlement status and let the plugin's continue/quit accordingly.
There maybe other third party licensing management online services available, playing the same/similar role as Autodesk app store's entitlement APIs. Or, if you are capable and have time to kill, you could re-invent the wheel (be prepared to invest times much more than you do your plugin), I'd say it is likely not worth it, unless your plugin has significant market value.
As for loading plugin DLL from "server", you may want to clarify what "server" means. if the server is just a computer in your internal organization (LAN), the dll is located in a network share/drive, then, yes, you can place a single copy of the DLL there and have all users in the same LAN to load it. However, you need to tweak the acad.exe.config of each AutoCAD installation to allow .NET DLL from outside the running computer to be loaded/executed. If the "server" means a invisible location of the internet, then, no, you cannot load the DLL directly from there. You need first download the DLL as binary data and save to the location computer; then Windows would automatically flag a downloaded executable as "unsafe" and you must manage to prompt user and manually flag he downloaded file as safe before it can be loaded into AutoCAD. If your users are public at large, I'd bet users would think they have downloaded a harmful ware and refuse to use it.
So, you should let your user to deploy/install your plugin locally. If you are truly concerned about protecting the code logic from decompiling the DLL and the code logic has the extremely high technology/commercial value, you may want to develop your plugin in ObjectARX C++ instead. The truth is, for a experienced/good AutoCAD programmer, once seeing how a plugin runs, he/she probably can develop a more or less similar plugin without having to other's source code, unless the plugin is extremely complicated.
Again, if your target users are the public at large, forget about loading the DLL from "server", and take advantage of Autodesk's App Store.