One thing you might do is store your chunks in a quadtree representing subdivisions of the x-y plane, or some similar structure, and then do a radius search to locate the ones near the player that are to be loaded. You could do progressively larger radius searches to draw outwards, or you could do a secondary distance sort on the search results with the full draw distance as your radius to get the draw order.
However... it looks like you're loading your entire world at once? I couldn't say for sure without more context, but it seems like that's going to really limit your world size. Minecraft uses chunks in part so that it can load only a tiny part of the world (around the player) into memory at once, but loading them all at once negates that benefit. There are others, to be sure, but you may want to consider rethinking the load-'em-all-at-once method.
If you used a quadtree (or similar) to store your chunk references (don't load them until you need them, and maybe don't even load the whole tree until you need it!), it would give you the searching benefit described above and also allow you to sparsely populate a massive world with only the chunks explored by the player.