They are defined by the MCU. The Wire library default is to use the pins in the Arduino board definition that you selected for compiling and uploading.
There are several different software I2C libraries for Arduino, which can make use any available digital pins. A web search will find them.
As you have seen, then no that would not be the easiest way to do things. Basically you made a mistake in using these pins in the first place. Just swallow that fact and rearrange those pins so they are not used for something else.
Using software I2C drivers are a poor choice because they don't always work on the full I2C specification. First they are slower and second they don't always have the same pulse stretching capabilities a real I2C circuit has.
The alternative is to use a processor that's got two I2C busses in the first place.
The best advice you are going to get is in reply#6. Surprisingly, libraries for software I2C do exist but that doesn't mean they are a good idea. Indeed, possibly a rather bad one, as you could find yourself paying a steep price to use them, like with software serial. This is not a topic you should share with your mother.......