Let me try and answer some of your sub-questions:
they have gyro and they want accelerometer to comply (am I correct?) It can be done in case there is no "control command". But what if I have it? What if I have few sensors and "command"?
usually you can set a bool whether the Observer should use command or only sensor data to estimate states.
Even more, what if I have few sensors each of them can be used as input, for example, two different gyroscopes?
Standard Filters as used in localization package can fuse as many IMUs etc as you want. You only have to comply to localization package message type.
Second question: in Complimentary filter, I can choose alpha, so that accelerometer is, say, 1% and gyro 99%. How can I do it in UKF? I don't think that I can alter values in Q or P matrices, because a) they are related to properties of sensors and b) it makes no sense. Say, gyro has sigma 0.01 and accelerometer 0.01, yet one will drift, so sigma should grow?
I think(!) what you are asking is how to (fine) tune Kalman-Filters. You can set the process and (I think) sensor noise inside the parameters of the Observers as Covariance-Matrices. BUT(!) it's advised to do this carefully - it's not an easy task and standard-values are usually pretty good. This being said, the Covariance-Matrices (your "sigma") are updated periodically within the Kalman-Filter as it works - so they can and will drift.