The answers to these questions are very very long, and is not something that is going to be answered on a forum. You should really read the manual or some tutorials on the subjects, but I will give you some starting points.
The first step to viewing all the images in a directory is finding them... check out the opendir(), readdir() and the other directory functions (http://www.php.net/manual/en/ref.dir.php) to see how to open and read the contents of a filesystem directory. This method will scan for images in the directory every time it runs. If there are more images than you want, you can stop at a specified number, and then start at that number on the next page, using an offset variable or something of that sort. Should be pretty straight forward if you have a good grasp of php.
The other way you might find the images is using a database. In this scenario, every time you add an image you will need to add a record to a database table that tells you where the image is located. At that point you can just use a query to look up all your images. Check out the mysql functions (http://www.php.net/manual/en/ref.mysql.php) if you are interested in this method and want to use MySQL for your database. Once your records are in the table you can search for them using something like 'SELECT * FROM images WHERE directory = "girls" ORDER BY image_name LIMIT 0,15'. The query is just an example though and is making some assumptions about how you might structure your database. Note the LIMIT portion which tells where to start (0, the first record) and where to end (the 15th record). You can modify this to accomplish your pagination ('LIMIT 15,15' for the next page for example, start at record 15, which would be the 16th result, and continue for 15 records).
Hopefully this gets you started...