The program needs to support at least one of the commonly used standards for putting metadata in your pictures (I can think of XMP, EXIF, IPTC ).
I have used http://www.pixvue.com/ in the past and I liked it, it is integrated as a shell menu in Windows Explorer. There are a lot of other alternatives, you can find them on Google.
Beautiful, I tried pixvu. I like it. After, I changed all images metadata, how can I dump all these images into eZ publish and have eZ read the metadata and use the title of the images as a title for users to see.
You can write a CLI script, to import the images as objects and map the metadata to object attributes. There are many PHP libraries to extract image metadata (in case the PHP exif and iptc functions are not enough). A script like this would be a nice contribution for the community ;-)
You can also use the image analyzer system of eZ publish to retrieve the metadata when viewing an image. I never used this myself before, but here are some pointers:
http://ez.no/doc/ez_publish/technical_manual/3_8/reference/datatypes/image
http://ez.no/doc/ez_publish/technical_manual/3_8/reference/objects/ezimagealiashandler http://ez.no/doc/ez_publish/technical_manual/3_8/reference/configuration_files/image_ini (unfortunately not documented yet, look for AnalyzerSettings the default image.ini)
I'll probably have to do something similar in the future so I'm interested to hear about your progress.