Welcome to the forum .
A car normally goes into limp mode to protect the engine if it detects something is wrong. This may also be why its making the car difficult to start. In effect the cars cpu is deliberately stifling the engine performance to encourage you to get it fixed as soon as possible,rather than ignore EML's etc. .Even though the engine might be capable of running quite well , doing so long term may lead to damage. ,
Rather than speculate on what could be wrong its best to get the fault codes read . This may tell you exactly what is wrong , or at least give a good indication of where to start looking (sometimes a fault with one area such as poor combustion triggers an exhaust gas sensor further down the line etc. etc )
I dont know what could be wrong.

If you are able to post the fault code (s) someone may be able to help more .