Можно ли передать в функцию-предикат значение как в лямбду?
Как в этом случае заставить функцию GreatherThanN увидеть это самое N?
Если функции нужен контекст, то вместо функции можно использовать функциональный объект -- объект класса с оператором  ():class GreaterThanN {
    int N;
public:
    GreaterThanN(int _N): N(_N)
    {
    }
    bool operator ()(int x) const
    {
        if (x > N)
            return true;
        return false;
    }
};

int N = 5;
count_if(begin(v), end(v), GreatherThanN(N));
Еще можно bind использоватьusing namespace std;
bool GreatherThanN(int N, int x) {
    if (x > N) {
        return true;
    }
    return false;
}

using namespace std::placeholders;

int N = 5;
count_if(begin(v), end(v), bind(GreatherThanN, 5, _1) );