I'm sure there a better ways to do this, but I would suggest that make your own file-datatype and file-class. You can copy much code from the file datatype comming with ezp, and add functionality to extract the XMP-data and add it to the object it vreates upon uploading.
as we are currently developing an eZ Publish based solution for dealing with XMP meta data I can tell you, that this is a very complex issue. We have created a new data type, a pretty huge extension and use a modified version of ezfind to query the XMP meta data stored in that datatype. If you need more information about this topic feel free to contact me. It would be nice to get some more detailed information from your side (e.g. where do you want to use this kind of solution - your private homepage or the website of a multi-national company?)
Do I understand it correctly, you want to read the XMP meta data from an image and store it in an eZ Publish matrix datatype? This would not be required as the XMP datatype would make the XMP meta data available in a much better way.