$1, $2, etc are variables. So when you create lpxy 0 5 4 4, $1 = 0, $2 = 5, etc. The internals of the patch won't look different, but it should behave differently. lpxy also takes four creation arguments, the first is the x position of the top-left corner of the pad (assuming 0, 0 is the top left corner of the grid), the second is the y position of the top-left corner, the third is the x dimension, the fourth is the y dimension (it's complicated enough that I don't use it myself all that often). So, for the case you're hoping for, I think you'd want 0 0 12 8.
Moses is a pd shortcut for the greater than/less than functions, outputting values < the creation argument on the left and > the creation argument on the right (not sure off the top of my head which side values equal to the creation argument come out)
Also, you'll need to swap lpin and lpout for something monome-specific. Those abstractions I use to talk to my launchpad mini, but they output (or accept) x, y, z messages that are (I believe) very close to the osc message the monome produces.
Hope this is helpful!