As mentioned in another answer, I would use the first egg to incrementally test as far UP as I can go while still having enough remaining trials to test the skipped floors. Basically test 1 is go up 20 floors, if the egg breaks, start at the bottom floor and begin testing upwards one floor until you find the breaking point. If the egg did NOT break at floor 20, I would go up an additional 19 floors and test again. Use the remaining 18 trials to test floors 21 - 39.
Continue moving up by the number of trials remaining until the first egg breaks, then go back to the bottom of your test set and work your way up.
To determine the largest building that this method will work you must simply do
20+19+18+17+16+15+14+13+12+11+10+9+8+7+6+5+4+3+2+1 = 210 stories.
For the second part of the questions, given an unlimited number of eggs, the answer is to use the divide and conquer method. Given 100 floors, start at the "middle" floor and test up or down reducing the trial size by 1/2 each test.
If egg breaks, repeat from floor 25. If egg is intact, move up to floor 75. Continue to test from the half ways points until you have determined the correct floor.
E.G. Presuming that the answer was that the egg tolerated being dropped from the 88th floor without breaking (out of 100).
TRIAL 1 - drop from 50th floor -> No break, retest only top half
TRIAL 2 - drop from 75th floor -> No break, retest only top half
TRIAL 3 - drop from 87th floor -> No break, retest only top half
TRIAL 4 - drop from 93rd floor -> break, retest only bottom half
TRIAL 5 - drop from 90th floor -> break, retest only bottom half
TRIAL 6 - drop from 88th floor -> No break, can be dropped from up to 88 floor
TRIAL 7 - drop from 89th floor -> break, 88 is the answer.
Another Example, Presuming that egg can only be dropped from the first floor without breaking. (second story breaks egg)
TRIAL 1 - drop from 50th floor -> break, retest only bottom half
TRIAL 2 - drop from 25th floor -> break, retest only bottom half
TRIAL 3 - drop from 12th floor -> break, retest only bottom half
TRIAL 4 - drop from 6th floor -> break, retest only bottom half
TRIAL 5 - drop from 3rd floor -> break, retest only bottom half
TRIAL 6 - drop from 2nd floor -> break, retest only bottom half
TRIAL 7 - drop from 1st floor -> no break, floor 1 is the answer.
The largest size building is equal to the largest number that can be divided into equal parts not having more than 3 floors in the final two trials. A building with 2048 floors could be tested with only 11 trials.
Following this logic the largest size building you could test with this method is 1048576 stories tall.
The point at witch additional eggs becomes irrelevant is at 20, since the number of trials limits the number of "splits", not the eggs.
Bonus question:
Having three eggs at your disposal increases the size of the building that you can test substantially because you can blend the two methods mentioned above.
You would begin at whichever floor is the highest that you can go so that you only need to test 1/2 of the floors with the remaining trials.
TRIAL 1 test from floor 38. If the egg breaks, use the second egg to test at floor 19. If the egg breaks use the third egg to systematically test floors 1-18; if it doesn't break use the third egg to test floors 19-37.
Repeat incrementing up double the one less than the number of floors that you have trials remaining.
Thus the maximum number of floors is
38+36+34+32+30+28+26+24+22+20+18+16+14+12+10+8+6+4 = 336 floors with 3 eggs.
Personally, speaking I must say that I would only test two stories since I'd really just enjoy having the excuse to throw eggs at people as they walk by and since my aim isn't that good, I'd throw both eggs from the second story to increase my chances of hitting someone.