I understand where you’re coming from and I think it’s quite a good idea. It would be nice if you could set custom point in the animation file as you described.
Unfortunately, I think it would be quite a bit of work to get this working and I have quite a few things on the to-do list already. (I do plan to revisit sprite animations at some point in the future, but no set date).
Honestly, I’ve never actually seen this functionality in similar software. The first one that popped into my head was Aseprite which by the looks of it doesn’t do anything like that.
In my experience it’s pretty common to solve these kinds of problems by using some hand rolled custom logic. For example, you could have a “special” frame in the animation that just has some black pixels on it representing the different reference points. You might be surprised how well this works, because you can simply draw the pixels at the right spot in your favorite paint program. You can even use different colored pixels to represent different things.
Another common approach is to simply draw all your art the same way and position the weapons “by convention”. In other words, the reference points are not specific to the artwork, but rather hard coded into the game logic. In small games, this approach has the lowest overhead.
Keep in mind that unless you actually plan on making hundreds of different assets for your game then these simple approaches are often the best. If you do have a much larger goal in mind, building the custom tools yourself might be worth it.