This is most certainly possible. You can resize images, as well as copy images into another image with GD. To find out more about resizing, check out this resize function I made: http://www.spotlesswebdesign.com/blog.php?id=1
But let's say your images are already resized to 10x10, and you had an array filled with 100 urls leading to different 10x10 gifs.
$montage_image = imagecreatetruecolor(100, 100);
$x_index = 0;
$y_index = 0;
foreach($array_with_100_10x10_gif_urls as $gif_image_url) {
$current_image = imagecreategif($gif_image_url);
imagecopy($montage_image, $current_image, $x_index * 10, $y_index * 10, 0, 0, 10, 10);
imagedestroy($current_image);
$x_index++;
if ($x_index > 9) {
$x_index = 0;
$y_index++;
}
}
// place code for saving the montage image as a file or outputting to teh browser here.
imagedestroy($montage_image);