I don't have access to Rudin's book, but I wonder whether you have mis-stated the problem. I think that the definition of $B(x)$ should be $B(x) = \{b^t: t<x\}$ (with a strict inequality). The motivation for this exercise is that when $x$ is irrational $b^x$ is defined to be $\sup B(x)$, and the point of the exercise is that this agrees with the existing definition of $b^x$ in the case where $x$ is rational.
If my version of the question is correct then the problem reduces to this: Given $\varepsilon>0$, find a rational number $t<x$ such that $b^t > b^x - \varepsilon.$ To see how this might be done, consider the very simple special case where $b=2$, $x=3$ and $\varepsilon = 0.01$. The problem then is to find a rational number $t<3$ such that $2^t > 7.99.$
Suppose that $t = p/q$, where $p,q$ are positive integers with $p/q<3$. We need to choose $p$ and $q$ so that $2^{p/q} >7.99$, or equivalently $2^p > 7.99^q.$ Since $p/q$ must be less than 3, the largest admissible value of $p$ is $p=3q-1$. The inequality then becomes $2^{3q-1} > 7.99^q$. Take logs: $(3q-1)\ln2 > q\ln7.99.$ The solution to that inequality is $$q>\frac{\ln2}{\ln8-\ln7.99}.$$ So choose $q$ to be any integer large enough to satisfy that inequality, and take $t=(3q-1)/q.$ Then $t<3$ and $2^t>7.99.$
That should give you a strategy for proving the result in general. There will be some extra complications, because in my simple numerical example I chose $x$ to be an integer, $x=3$. In the case where $x$ is a general rational number the proof may need some extra ingredients, but the overall method ought to work.