Using the Microscan Quadrus Mini 3 and a host software application, we've developed an inexpensive method to read up to 96 unique datamatrix codes on vials in an approximately 3x5 tray.
This 3 megapixel imager has plenty of resolution to be far enough away to get the field of view you want and still read small datmatrix codes.
Contact us for info on this solution.