For you to load an image from a file as a smaller version you still have to open the whole file and read the whole file. To get a smaller version arguably takes longer as you have to do all this then resize it to be smaller on top of loading the whole thing.
A better option is to save thumbnail images as separate files and load those instead. (See ResizeImage and SaveImage()). These can be a fraction of the size and so can load much quicker.
A few people on here have shown that loading a previously saved memblock image is quick and so for each of your images you could do that too. There's a thread on here about it somewhere.
-Convert the image to a small thumbnail sized version (ResizeImage())
-Convert this to a memblock (CreateImageFromMemblock())
-Save the memblock as a file (perhaps named xxxxxx.thm or something) (CreateFileFromMemblock())
Then when you want to load the thumbnail, you load the file into a memblock (CreateMemblockFromFile()) then make an image from it (CreateImageFromMemblock).