Yet another PWM multiple pins together, BUT...

Your goal is to adjust the output pwm value of each output by a small amount at regular intervals, until it reaches its target value.

The blink without delay example sketch shows you how to run code at regular intervals.

I suggest that for each output you should have a variable holding the current output value, and a variable holding the target output value. Since you want to have similar data for both outputs and will be doing the same thing with them, I suggest using arrays for these values.

At regular intervals you will do the following for each output:

compare the current value with the target value.
If the target value is different to the current value, adjust the current value towards the target value.

In the same sketch you will also be checking for commands to change the brightness. When you receive one, instead of altering the brightness directly you will simply alter the saved target value. The regular background processing will then slowly adjust the brightness towards the target value.