CPU and TP definitely have to have unique addresses.
Default are 0 for the PG/PC, 1 for the OP/HMI and 2 for the PLC. You may want to assign different addresses than the default.
Both PLC CPU and TP can be masters on the bus. For most applications this is the normal actually.
The MPI port and the DP port on the CPU can have the same addresses, or different addresses. There is no dependency between the two.
edit:
If you are using the Profibus port for i/o as well as the TP panel, then I recommend that you make the whole thing as an integrated project.
This because the "Target Rotation Time" has to be calculated (by STEP7), and STEP7 then need to know all the stations on the network.
(You can manipulate STEP7 to take the TP into account, even without an integrated project, but it takes a few more steps).