I don't know where you copied that code from, but it's pretty crappy code. There is no reason to create an instance of the SoftwareSerial class on every pass through loop. SoftwareSerial is obsolete. You should be using NewSoftSerial, instead.
Serial.println(code); // print the TAG code
Hey, look, I think we found the variable where the tag is stored.
if(code == "0800E1514A")
This will never be true. The variable code is an array of characters. It is not a string (lower case s) because it is not NULL-terminated, so you can't use the strcmp function, either.
You'll need to set up a for loop, and compare each character individually. Or, properly NULL-terminate the array of characters.