Is (BC + AD)<<16 equivalent to (BC << 16) + (AD <<16)?
They are equivalent. The width of all operands get extended to the size of the largest operand before any operation occurs. As long as the width of one of BC or AD is 16 bits wider than the value being shifted, then what you wrote is mathematically equivalent to
\$(BC + AD)×2^{16} = BC×2^{16}+ AD×2^{16}\$
If the width of the largest operand is not wide enough to hold the shifted value, then it gets truncated to that width.