The closest thing to what you ask for is a closure (aka anonymous function) within the method you want to restrict it to. Closures are not accessible outside that method they are defined in. These are generally used to define callbacks and passed to other methods, but you can invoke it directly.
class Methods{
function b(){
$a = function() {
return 'a';
}; // don't forget the trailing ';'
$a();
}
function c(){
$this->a(); // fails
}
}
Making a method private or protected will prevent it from being called from outside the class, but will not restrict which methods inside the class have access to it. At some level you need to trust your code to follow the rules of use for your API.
Classes are generally the unit encapsulation for trust and if you make the method private from outside use, and document it, you should be able to trust that it is used properly from within the class. If not, perhaps that class has gotten too big and it's time to refactor.
As @Sjoerd mentions, you could also inspect the call stack, but agree with @Mark Baker that there is little to no value in this; it's akin to abuse of the language and makes your code a mess as well.