Ethernet sheild stops connecting after an extended period

      if (strncmp(currentLine,"<text>")==0) {

It's hard to believe that that even compiles, since strncmp() takes three arguments. The third is the number of characters to compare.

      if (readingTweet) {
        if (inChar != '<') {
          tweet[index++] = inChar;
        //  currentLine[index] = '\0';
          
        }

You need a separate index for each array, or, at a minimum you need to reset index to 0 before you use it to index another array.

Uncomment the print that shows what was read. You can't debug serial/client reading code without seeing what you read.