it isn't really feasible to run I2C via software
It is have have done it many times on Acorn machines and PIC processors without hardware support. A master I2C is a lot easer than a slave because the master is always in charge of generating the clock signals. It is a bit messy but can be done.
Also because it is a synchronous serial signal the actual clock frequency is not too important because you generate the clock as well.
I2C is supported on the mega but the pins are fixed as the software uses the hardware support. On the mega the I2C lines are not the same as the other boards this is Pin 21 for the clock and Pin 20 for the data. But on all other processors it is Analogue 4 & 5.
Is it possible to use i2c on every other analog port?
Only if you are prepared to write a software I2C driver, there is not much point in doing this apart from the learning exercise as you can do lots of thing with external multiplexing if you need more devices or to counter address conflicts.