Beacons like Radbeacon, Estimote, Accent and so on have their own application for changing different features of beacons(UUID, minor, major, Tx power), is it possible to change UUID or minor and major via something else dynamically? is it possible to do that via Bluez on raspberry pi or any other library like noble?
While this is in theory possible, but I don't know of any manufacturers that support this with off-the-shelf beacons for a few reasons:
Some manufacturers limit the configurability of beacons over a bluetooth interface to only a short-time interval after you put them in configuration mode (by power-on, double clicking a button, etc,) as @Paulw11 mentions. This is for security reasons.
While some beacons (like Radius Networks' RadBeacon USB) allow you to set the power-on configurability timeout to be forever, this device does not have a publicly available SDK to configure over bluetooth. You have to use the manufacturer's app, which understandably you do not want to do.
There are certainly use cases where this is desirable. With such a setup as you describe, you can have a configuration computer within bluetooth range of all your beacons, and programmatically push identifier changes over the air whenever you want -- either in an ad-hoc manner or at regular intervals to rotate identifiers for anti-spoofing reasons.
There are paid service options from Kontakt.io and Radius Networks to accomplish the above, but to my knowledge their solutions do not allow you to roll your own without paying for the service.
If you do want to roll your own, you could build your own beacons that do this, perhaps using a Raspberry Pi to act as a beacon with BlueZ, Bleno, or AndroidThings, and then another one to be the management device that commands the changes using BlueZ, Noble, or AndroidThings.