Callback to modify training data?

Just from a theoretical perspective, would it be possible to modify the training data within the training loop (to add some sort of noise in the data). I was thinking about using a callback.

Would this generally be possible ? practicable ?

No, the training data cannot be modified in general. XGBoost generates intermediate data from the training data, which is not refreshed during training.