Using a shared library is a good idea for getting security fixes without having to recompile all the applications that use the library -- but this holds only if there is indeed a shared library that several applications use, and that is actively maintained by somebody else.
In an ideal world, you would not even download the source code for the Curve25519 implementation. You would use the OS-provided package that contains the shared library. If a bug were to be found, it would be corrected upstream and the packager would publish a new, fixed version, that your application (and others using the library) would automatically benefit from the fix. It would have similar benefits for performance (e.g. if a new, faster implementation more optimized for your current hardware is produced).
However, such a package does not exist for the moment. DJB does not appear to be willing to maintain such a package, for any version of any OS (in fact he has been quite vehemently opposed to how most if not all package managers work; he also expressed misgivings about shared libraries). If you use the code, then you are importing it in your application, and the maintenance effort, i.e. keeping track of changes and propagating fixed versions, will fall squarely on your shoulders. Even if you make it a shared library, it will still be your shared library, not shared with any other application. You might as well link the code in; it won't change things for security, and it will be simpler.