What dev env are you using?
What is the exact problem you’ve got with I2C being on D0/D1?
Have you considered any softSPI/softI2C solutions?
If you want to prevent the optimizer to interfere, you can add this to the top of your .INO file
#pragma SPARK_NO_PREPROCESSOR
In this case you have to care for #include "application.h"
and function prototypes yourself.
BTW: Have you seen this?