I have been working with OEID for a while and so far I couldn't find a way to read records back from MDEX engin. I wonder if it is possible?! For example if I have used a cloud reader and added some social feeds json records into the MDEX, is it possible to read them again and do a new manipulation graph on them like a reformat?
No. The usage model implies that once the records are loaded into the Endeca Server, they represent an indexed data store which you can then offer to the end-users to send requests to, or queries. If you want to update already existing records, this is known as an update operation. Some update operations can be done continuously, and some (a few only), require that you restart the Dgraph process for the Endeca Server.
At any rate, for your case, you would need to obtain the same feed again (before loading it), do your manipulations, and then load the data into the Dgraph. If you want this data to replace the previously loaded data, you can do it too.
I agree with Julia that in most practical instances, you'd want to persist your social data offline and then transform and reload it to the Endeca Server any time you wanted to change it. However, reading records from the Endeca Server, transforming them, and then reloading them is certainly possible. However, as you're probably aware there is no OOTB "Endeca Server Reader" component within Integrator. You'd have to create your own custom reader, but it certainly could be done.
You'd need to write a custom integrator component as covered here: http://doc.cloveretl.com/documentation/UserGuide/index.jsp?topic=/com.cloveretl.gui.docs/docs_custom_component/creating-custom-component-for-engine.html
Also, you'd need to understand how to develop against the Endeca Server "conversation" web service covered here: http://docs.oracle.com/cd/E29805_01/server.230/DevGuide.pdf