How to: get ID-20LA RFID and SIM900 to communicate with UNO (software serials)

I actually have a mySerial connected to the pins yes.

Can you attach a picture of a mySerial? I'm curious what a mySerial looks like.

My RFID is connected there.

So, a more meaningful name would be rfid, wouldn't it?

Actually I would be glad is I could just listen to the RFID as default, and then only listen to the SIM900 while sending a message

You could, as long as you don't need to be able to listen to the SIM900 (except while sending).

But as I said I am unable to figure out how to change between the software serials as the SIM900 library doesn't support the command "gsm.listen();"

If gsm is an instance of SoftwareSerial (I have my doubts about that), it should support listen(). But, actually, any method of the SoftwareSerial class will make the instance that the method is called for the active (listening) instance. So, listen() isn't really required for devices that only send.

You should not be calling checkTag(), clearTag(), and resetReader() on every pass through loop(). You should only be calling them when the end of a tag has been read (reading becomes false).

You should not be calling strlen() with the non-NULL terminated array of chars. You SHOULD be NULL terminating the array as data is added to it. Because the array is local, it is NOT initialized to 13 NULLs, so you can not pretend that the array is NULL terminated.

tagString and index and reading should really be global variables (or at least static) because you can not rely on the entire packet arriving in one iteration of loop().