is it possible to have a mapping reduction between 2 NP complete languages?
You certainly can! This is how NP-completeness works: every NP-complete problem can be mapping-reduced to every other NP problem, by definition.

For example, consider the Boolean Satisfiability Problem: given some assortment of variables joined together by AND, OR, and NOT, is there any assignment of True and False to those variables that will make the whole thing evaluate to True? This problem is NP-complete.

Consider also the 3Sat problem, a convenient one to use in all sorts of NP-completeness proofs. This is the same as the Boolean Satisfiability Problem, except that the input is a series of clauses joined by AND, where every clause consists of exactly three terms joined by OR, and a term is either a variable or the negation of a variable.

Since every 3Sat input is a Boolean formula, 3Sat can be trivially reduced to Boolean Satisfiability. And there's a method of converting any Boolean Satisfiability problem into an equivalent 3Sat input in polynomial time.

Therefore, $\mathrm{3Sat} \leq_M \mathrm{BooleanSatisfiability}$, and $\mathrm{BooleanSatisfiability} \leq_M \mathrm{3Sat}$.

(It's easier to understand this with general problems, but this can be trivially rephrased to work with languages, as in your question: let the language $\mathrm{BooleanSatisfiability}$ consist of the binary encodings of inputs for which the Boolean Satisfiability Problem should return true, for example.)