Is there a way to save a full pdb file in PYMOL after uploading biological unit?
So on the GUI form of PyMOL on the right hand side you have a list of what is ambiguously called objects in PyMOL (models elsewhere), which can be enabled or disabled by clicking on their name.
The name also has a 1/1 in green or similar. This indicates the state. In your case you have 2 states.

To split a multistate object use

split_state prot_A


To combine two objects one uses the command

create new_name, prot_A or prot_B


Now, this has two caveats which if violated result in a nasty piece of modern art:


if the chains, segment ids and residues are the same
if you had two overlapping macromolecules


To deal with the first, change the chain id on one of them.

alter prot_B, chain='B'
   sort

Segment identifier is a weird thing that most comp-biochem tools dislike, so I like to remove that

alter prot_B, segi=''
   sort

Now when you go to save your new_name object, in the popup of the GUI you get a dropdown menu defaulted to enabled (visible objects that have not be clicked to be disabled). There you can choose new_name.

Aligning two

If someone that is in not the OP author has a template protein and needs to make a dimer of another based on that, the process is the same.

create twin, prot_B
align twin, prot_A and chain B
alter twin, chain='B'
sort


SDF files

If someone else has a multicompound sdf where the state is the header name, I strongly advise not to use split_state. Yes, the python pymol module (not the app) handles states in a really weird way, but states can be selected with state 1 selection algebra and state is an argument for most commands that do not accept state selector.