As someone specialised in logic and infinity, this is a lovely question! 
Allow me to geek out a bit.
Let’s start with the disclaimer: how to interpret “logically”. One needs to specify which logic to use. For example, there’s logics where contradictions are allowed (called paraconsistent, useful to talk about contradicting beliefs, for example), or logics where statements are neither true nor false (called paracomplete), or logics where truth value is a range of values (for example fuzzy logic), and so on.
I’ll assume for the sake of this question that we’re dealing with classical logic, which is by no means the “true” logic, but it’s the one accepted by most mathematicians. It’s the kind of logic that’s used in computers as well.
Yes, there’s a difference! First, let’s put another disclaimer up: epistemic logic is very broad and can be both highly philosophical, linguistical or mathematical (and any combination of those), thus it’s essential that we define carefully what is meant by something being known before trying to answer the question.
In context of this question, let’s say that knowing something means you have unconditional evidence that it is true, so in a way knowing something means you have proof. Now the question becomes whether there exist statements that are logically possible (hence true) of which it is impossible to know that they are logically possible (hence lack a proof).
Such statements necessarily exist by Gödel’s first incompleteness theorem: for any system strong enough to do arithmetic in, there are true statements that cannot be proved within the system. Hence, if we fix our framework, there are true statements about numbers out there that cannot be proved within the framework that we fixed; we would need stronger assumptions to prove it.
You’d say that the next step would be to prove that our framework is the “true” framework that is correct in our universe. But that’s impossible to decide by Gödel’s second incompleteness theorem: for any such framework, it is impossible to prove within the framework that it is consistent (i.e. that it does not contain any contradictions).
Therefore, we can’t prove what the correct framework is to build our knowledge in, and even if we assume a certain framework to be the correct one, then there will always be statements that we cannot know the truth of!
I also don’t know what an MGB is, but omniscience is a hard concept. I’d need more clarification to say something meaningful about this.
Again, this depends on the logical framework that one chooses. If we take the usual axioms that mathematics is currently based on (according to the majority of mathematicians), which are the axioms of ZF (for Zermelo-Fraenkel), then there is an axiom that tells us that there exist an infinite set.
Interestingly, as soon as we have an infinite set, we get infinitely many infinite sets and it is impossible to find a “largest infinity”. Mostly it’s comparable to how there is not a “largest number”: we can always find a larger number. This fundamental aspect of infinity is known as Cantor’s paradox: there exist infinities of arbitrarily large size, and indeed, the number of infinities is larger than any infinite size itself.
On the other hand, there’s a minority of mathematicians who believe mathematics should be done finitely. They reject the assumption that an infinite set exist. In this case, the question what the largest infinity could be, is of course meaningless: the answer is that there exists no infinity.
So to answer the question: there is no largest infinity that could logically exist, since we either have no infinity at all, or if we do, we have no “largest” infinity.
If it’s just the digits of pi, then this set would just be 0,1,2,3,4,5,6,7,8,9, since those are the digits that pi contains… But I assume you mean a set that contains, for example, all possible approximations of pi.
This is perfectly computable: there are algorithms that can compute what the N’th digit of pi is for any natural number N. The main obstacle is time, of course. If we have unlimited time, we can just let such an algorithm find each digit one by one.
However, I think there’s a more fundamental problem here. People are usually obsessed over the fact that pi has infinitely many digits, but we don’t use pi by looking at its digits: we know what pi is, because it’s defined as the ratio between the circumference and the diameter of a circle. That’s what pi is, thus in essence, we know pi completely.
Similarly, for any given accuracy we could approximate pi using algorithms.
However, this is not so different from what 1 is: 1 is that unique number that forms the multiplicative identity. Like pi, 1 also has infinitely many digits. It just turns out that all of them except one are equal to 0. This makes computing an approximation of 1 a lot more manageable than approximating pi, but in a sense, the numbers aren’t different.
I’d say that knowing each of the infinite digits of pi is one way to “know” pi, while the circle definition of pi is another way of knowing pi. The latter is a lot more useful.
However, this hinges on some other topic that’s quite similar but wholly different: is it possible to know every real number?
First of all, it’s impossible to list all the real numbers. This is a result of Cantor as well, and the essential idea behind the fact that there are infinitely many infinities. Given any real number, we can write it as a decimal expansion. Now suppose that we have a list of all of the real numbers:
# |
decimal expansion |
1 |
0.00000000... |
2 |
3.14159265... |
3 |
2.46578467... |
4 |
0.33333333... |
5 |
0.57721566... |
: |
: : : : : : |
Now I can create a new number that cannot be found on the list: for this number I take the N’th digit of the N’th number in the list. If this digit is a 1, the N’th digit of my new number will be 2, and else it will be 1.
If we isolate the N’th digit in our list of numbers:
# |
decimal expansion |
1 |
0. 0 0000000... |
2 |
3.1 4 159265... |
3 |
2.46 5 78467... |
4 |
0.333 3 3333... |
5 |
0.5772 1 566... |
: |
: : : : : : |
Then we see that our new number is something like 0.11112...
. Now, the claim is that this number does not exist on the list, because if it exists on the list, it’s equal to the N’th number on the list for some N, but by construction the N’th number and the new number are different in their N’th digit!
(footnote: you have to be a little careful, since there can be multiple representations of the same number, e.g. 0.9999999… is the same number as 1.00000…, so you don’t want to go changing 0’s in 9’s, since that may turn out to give a number that’s already in your list)
Hence, there are more real numbers than can be put in a list.
The proof that there is no largest infinity uses essentially the same method, which is called diagonalisation. Say we have a possibly infinite set of things, A, and we have the set of all subsets of A, usually called the power of A, or P(A). If the set A is the largest infinite set, then P(A) cannot be larger than A. Saying that one set is larger than another, means that we can use the larger set to “label” each of the elements of the smaller sets. So suppose we label each subset in P(A) with (at least) one of the members of A. So, if Y is a subset of A, let Y be labelled by y in A.
I can now find subset X of A that cannot have any label: namely, for any element x of A, I let x be an element of X if and only if x is not an element of the subset Y of A that is labelled by x.
Now what would the label of X be? If x is the label of X, then x is not an element of X by how we defined which elements are part of X. But then, since x is the label of X, we see that x should be an element of X. But then, we see it shouldn’t be an element of X. So it should be an element of X. etc.
Clearly x has to be both an element of X and not an element of X, which is a contradiction.
Now the real question (pun not intended) is of course whether we can know all the reals. This turns out to be rather tricky. We don’t even know how many reals there are!
Under the assumptions that the axioms of ZF are true, there is this technique called forcing that can be used to create more real numbers. It sounds weird, but if we assume a universe that forms a model of ZF (which means, a universe in which all the axioms of ZF are true), then we can extend this universe by adding more real numbers. The technique of forcing guarantees us that this new universe also is a model of ZF, so as far as mathematics is concerned, generally all of it is provable in this universe.
What’s interesting, is that forcing can be applied to add any infinite number of real numbers to our universe. That is, if we have the set of reals having a certain infinite size L, and we take another (much larger) infinite size K, then we can find a model of ZF where there are K many reals. The other way around works as well: if we have a large number of reals, we can collapse our concept of cardinality to get a new universe where there are only a few reals.
The problem then remains to decide which of these universes is the actual universe. This is once again impossible to know for sure, due to Gödel’s incompleteness theorem: we can never prove that there aren’t any inconsistencies in our universe, which would be a reasonable requirement to make.