possible to define variable as bit?

I'd like to switch between 2 states each time a function runs

You are using static or global memory, aren't you?

The best way I can think of doing this is using a bit variable

The only way of getting a single bit is to use bit fields in a struct. If you've only got one such variable, you may as well use a whole byte.