Yes, but you don't want to, otherwise the idea of it being static is completely pointless. If you want to change something then change its visibility, don't hack around the problem.
So in this case you could convert the function into an object:
class f
{
public:
f() : count_( 10 ) {}
void operator()() {
int count_;
};
and make that a static.
Another thing to consider is... statics are really just globals in disguise. They damage the ability of your program to be multithreaded (they require locking) and it's harder to reason about what a program does (they can make it harder to verify a class's invariants).
How about just passing count as a parameter to the funtion:
void foo( int count )
{
}
then you get reentrant code for multi-threading, and avoid the whole "set it then call it" model you're aiming for.