Checking if all the characters from an A-Z is present in the string
private static byte N;

We know that N&lt;=100, but this is a very premature optimization. In theory, you're saving 3 bytes total. Actually, it'll get rounded up to a nearest multiple of 8 or whatever and you save nothing at all.
It's also no good idea top make everything static.
BufferedReader keyboard = new BufferedReader(new InputStreamReader(
            System.in));

But the input does not come from the keyboard. Or can you type 100 lines in two seconds? I'd call it in as I'm lazy, something like reader would be fine.
isCompleteString(testingString);

According to the name, isCompleteString returns boolean. And there should be a method doing just this. Coupling output with computation makes you method 100% non-reusable.
First version
    String resultString= &quot;&quot;;

Switch on your warning to see unused variables.
    char[] toChar = testingString.toCharArray();
    int length = toChar.length;
    for (int i = 0; i &lt; length; i++) {

This looks like a premature optimization. And toChar is a bad name as there's no char but char[]. The IDE proposes charArrays or chars, which is both better.
If you want to use a char[], then use simply
   for (char c : chars)

This is clearly non-optimal
        if(resultString.indexOf(toChar[i])==-1){
            resultString=resultString.concat(toChar[i]+&quot;&quot;);
        }

for many reasons

indexOf - you're running through the string for each char
toChar[i]+&quot;&quot; creates a String from each char needlessly
resultString.concat(...) creates a new String every time

You could use a StringBuilder here.
But creating a String only to measure it's length is plain wrong. You could count the chars instead.
But counting the chars is plain wrong too. If you want to know if a beer crate is full, do you count the bottles? Or do you if there's a bottle missing?

    if(resultString.length()==26)System.out.println(&quot;YES&quot;);
    else System.out.println(&quot;NO&quot;);

This should be written as
   System.out.println(resultString.length()==26 ? &quot;YES&quot; : &quot;NO&quot;);

apart from that 1. there should be no resultString, 2. there should be a method computing and a method printing.
Second version
    boolean[] findingAlphabet = new boolean[26];

No good name. What about foundChars or simply found?
        byte alphabets = (byte) toChar[i];

What byte? Never use a byte, unless either it's exactly what's needed or you have a big bunch of them.
        findingAlphabet[122-alphabets]=true;

Nice obfuscation. What about
       found[chars[i] - 'a'] = true;

? And bottle counting again
    int count=0;
    for(boolean b:findingAlphabet){
        if(b)
        count++;
    }

This should be
    for (boolean b : found) {
        if (!b) {
            return false;
        }
    }
    return true;


How can I optimaize these programs further (I have used BitSet)?

You haven't. But BitSet is slower than a boolean[] (except when memory locality comes in play).
It looks like most of the time gets spend on IO. Not surprising, even the first solution with doing 26 times indexOf on a 100 chars string is not computationally intensive.
It could be sped up by avoiding strings and working with the input bytes directly. But I'd concentrate on readability first, otherwise it'll become a huge mess.
You may want to specify input encoding as US-ASCII as it's sufficient and much faster than UTF-8 which may be your platform default.