very fast read-writes to port / pin

The ATmega chips have a special fast instructions to set and clear a bit in a output register. When you use the Arduino bitSet() and bitClear() macros, the compiler will translate that into the special fast instructions.
That means you are on the right track, but I think it will not work.

You could get rid of the interrupt and copy the bit continuously in the loop().
I have tried a similar thing in the past, but I think it was about maximum 100kHz.
Therefor I agree with the others that tell you to use extra hardware.

The WS2812 LEDs are probably very tolerant for timing jitter if you had this working with a pic chip.