first of all let me say the this OPENPLC project is one of the best open source project that I could find on web.
1- Is it possible to cross compile OPENPLC for my platform?
I never tried to cross compile it, but I believe it will be a little tricky. The entire OpenPLC application needs to be recompiled every time a new PLC program is uploaded. Currently it is done on the target by some scripts. You will have to port these scripts to run on the host and send only the compiled binary to the target board. Why not install GCC on the board and have all the fun happening embedded?
2- If so, witch library do i need to cross compile for my platform?
Currently you only need GCC and libmodbus, but I'm writing my own Modbus implementation, so in a few days you won't need libmodbus anymore.
3- How is it possible to add my own IO or UART driver to the software output?
Certainly. OpenPLC was built with expandability in mind. Take a look at the hardware layers in OpenPLC_v2/core/hardware_layers to create your own customized IO layer. Basically, there are two functions that you will need to provide: one to initialize your hardware and other to update the OpenPLC buffers with your inputs and outputs