As Gerry pointed out, your question is a bit imprecise. However, if you simply want to generate large sets of invertible matrices with entries in the prescribed ring (Gaussian integers, or Eisensteinian integers) here's what you can do.
1) Start with the identity matrix.
2) Perform a number (one or more) of elementary row operations of the familiar types: A) swap two rows, B) add a scalar multiple of one row to another, C) multiply a row with a scalar. Warning: contrary to what you learned in a linear algebra class you have to be a little bit careful here: For a row operation of type B the scalar needs to be an element of your ring. For a row operation of type C the scalar needs to be a unit of your ring (only finitely many choices for both of these rings).
3) Either exit or perform a number of column operations subject to the same constraints.
4) Either exit or go to step two.
This is a bit vague in the sense that I don't know what to say about the resulting distribution. If you draw your scalar multipliers from some distribution, may be something can be said. Depends on your needs, whether this is useful or not. I use something like this for the purposes of generating exam problems for my courses. Works the same with the rational integers also :-)