To set any monitor as primary during the boot, this must be a parameter of the BIOS. If there is no option to do that, then there is no other possible solution, since the linux bootloader is (AFAIK) dependent on the BIOS. The second monitor won't boot until the OS is up and running.
The most you can do here is upgrade your BIOS (carefully) to the latest version and examine
thoroughly all the available parameters. Or, as you have found out, disconnect the unwanted
monitor during boot.
However, I do wonder what will happen if you switch the video cards
themselves in the motherboard slots.
One can use the xrandr command to change the primary monitor in Linux distributions.
Calling xrandr with no parameters will give all the available information about connected monitors.
Here is how to query the names of all connected monitors :
xrandr --prop | grep " connected " | cut --delimiter=" " -f1
Here is one way to set the primary monitor :
xrandr --output <monitor-name> --primary
This Ubuntu wiki article describes in the section
Setting xrandr changes persistently
several ways to make xrandr customizations permanent from session to session:
This article can be useful as an example of how to set a script to run at login time :
Setting up dual monitors system-wide with XRandR on Debian Lenny