All the right ideas are already in other answers/comments, but I'll post this as an answer to hopefully provide some more detail.
The way people normally use 'function' in a programming context is a construct which takes some number of parameters and executes one or more statements making use of these parameters.
In that sense, your definition of g isn't a function, it's an expression. The instances of 'x' inside aren't function parameters, but unassigned symbols. (I should say however, at the risk of confusing you further, that Maple's documentation and type system frequently uses the word 'function' to refer to expressions, e.g. in the definition of the Maple type function. But don't worry about that right now.)
The easiest way to do what you want using your expression g is what you already found:
g:=abs(x)/x^2;
evalb( g = eval(g, x=-x) );
Going back to the question about a 'function', the thing in Maple which corresponds most naturally to that idea is a 'procedure'. Here are two ways to define a procedure corresponding to g and perform the test you've already done. I'll call this function 'h':
Method #1:
h := x -> abs(x)/x^2;
evalb( h(x) = h(-x) );
Method #2:
h := unapply( abs(x)/x^2, x );
evalb( h(x) = h(-x ) );
Hope that helps.