I'm not aware of a way to reload a single module - comes down to the way that node.js handles
require I think.
What I do is to run my development version under PM2 with watches in place so that changed files that require a restart of node-red do so automatically.
I also develop on my main Windows PC, deploy to GitHub (publish to npmjs.org if a public release) and update other platforms from npmjs.org or GitHub as appropriate. That way, I only need to do an
npm install c:\path\to\local\code, whenever I save a change, node-red simply restarts.
This also makes debugging easier if/when you need to run it. I rarely run it unless I have some really tricky problem since you have to debug the whole of Node-RED which is quite complex. I generally rely on copius console.xxx and node-red log statements. I also have a custom flow on my "live" home automation server that a custom log setting uses - via MQTT, it outputs trace-level details just for my nodes and debug level for everything else - to a web page via uibuilder.
Running Node-RED in debug mode has been covered in the forum before. When done locally, you just need to start node-red passing the
--inspect flag to node.js and have a suitable breakpoint somewhere early on - I usually put it at the end of settings.js.