Is is possible to have a routine with an sbit as a parmeter?
Yes, but keep in mind a sbit is a bit within some special function register or bdata and its type is always bit. So the only value it can contain when passed is either a '0' or '1'.
... but can that parameter be a pointer to an sbit?
In other words pass in the sbit (possibly on an sfr) which needs to be set/cleared within the function?
Marc
My understanding is no you cannot have a pointer to a bit object only to a bit word.
I am confused on what you are trying to accomplish as an SFR has global scope. Perhaps you could provide a code snippet of what you like to accomplish and others could provide some suggestions on how they would achieve it.
http://www.keil.com/support/man/docs/c166/c166_le_bitaddrobj.htm