Use Visual Studio for Blender Python scripting
Yes, it is possible. You can use any external editor. If you only want to edit the code, see this question: Workflow for developing add-on/script

A way to avoid the constant reloading: Is it possible to run a script from an external editor without reloading the file?

Other things like correct auto-completion and debugging are also possible, but they require additional configuration, which can be somewhat tricky. Visual Studio is not very popular among Blender developers, I recommend PyCharm or PyDev for this kind of advanced stuff because you can find tutorials for them.