Procedural grass in BGE
firstly my dude, no beginner should be undertaking this, it is a large scale project. secondly,

the easiest way to get a meshes height in the BGE is by using a raycast actuator tied to an object and returning it. (which in your case isn't even neccessary).

grass doesn't repeat but whatever, you can use random.seed to sorta accomplish this.

setXYZ is how you alter objects in realtime, which ALSO isn't what you want, as any 3 dimensional grass in a game is animated, and you don't see 3 dimensional grass in 3d games, as it looks poor and slows fraps. (you can however use it to place grass at vertices)

third you don't need the normals, like at all.

here is a working example of grass seeding.

created specifically for your purpose using the BGE.

if you want it to flow in the wind, or be hyper realistic you'll have to animate it yourself.