It's doable for sure. You just need a way to sync the data between locations so that every DNS server responds with the same records, but that's pretty much it. I do that for a (very small) business with ispconfig, but there's plenty of options around starting from building your own. On the question if you should it's a bit more difficult. Running a DNS server out in the wild isn't the most complex thing to do, but it's also a thing where you can break pretty much everything else you're running very easily if you mess something up.
It's a bit difficult to say if you should. From my point of view, if you really know what you're getting into and doing you're not asking if you should around the internet and (in general) if you ask if you should do it then (way more often than not) the answer is 'no'. If you know how to write zone files manually (not that you really need to, it's just a thing you can do when you have enough understanding on DNS and things related), understand how axfr and loads of other tech works, then sure, go for it. But, and I know I'm repeating myself, if you ask if you should (to me) it's a sign that you don't know enough.