Can page statuses vary per user role

No, this can’t be set in a blueprint. You would either have to use different blueprints per user role or use page models to limit access to certain pages in the Panel.

Is this something you need for all page types and many user roles? Could you provide a bit more information about your intended setup?

class NotePage extends Page
{
    public function isReadable(): bool
    {
        static $readable = [];
        $template = $this->intendedTemplate()->name();
        ​
        if (isset($readable[$template]) === true) {
            return $readable[$template];
        }
        ​
        if ($this->author()->toUser()->is($this->kirby()->user()) ||
            $this->kirby()->user()->isAdmin()) {
            return $readable[$template] = true;
        }​
        return $readable[$template] = false;
    }
}