You are making it more difficult than it needs to be!
//listen for communication from SIM800 and write to Serial Monitor
if ( SIM800.available() )
{
Serial.write( SIM800.read() );
}
//listen from communication from Serial Monitor and write it to SIM800
if ( Serial.available() )
{
SIM800.write( Serial.read() );
}