Насколько я понимаю, это пункт 3.10.1: An lvalue (so called, historically, because lvalues could appear on the left-hand side of an assignment expression) designates a function or an object. Переменная designates an object, поэтому выражение i является lvalue. Вообще {l,r,x,gl}value - это характеристика выражения.
Но само выражение i является lvalue, несмотря на то что тип i - int&&.
Насколько я понимаю i здесь rvalue, т.к ее тип int&& - а это универсальная ссылка, и в выражении int&& i = 5 полностью определенный тип параметра и нет никакого выведение типа, тогда получается что это rvalue reference А так да, в стандарте это 3.10 Lvalues and rvalues
нет, универсальные ссылки появляются только в шаблонах функций, т.е. в
template<typename T>
void foo(T&& x, int&& y) {}
x - универсальная ссылка (при инстанцировании шаблона T может стать как lvalue, так и rvalue reference), y - всегда rvalue reference to int (но внутри foo выражение y является lvalue).