Firstly, I'm going to simplify the notation by using $u_i$ instead of $E(i)$, and getting rid of all those unnecessary brackets. The expression is then $$\sum_{0 \leq a_1 \leq a_2 \leq \ldots \leq a_b \leq A} u_{a_1} \ldots u_{a_b}.$$ The simplest way to find an explicit form for this, I think, is to expand different powers of the basic sum, i.e.$$\left( \sum_{0 \leq a \leq A} u_a \right)^b$$ for different powers of $b$, and then doing lots of rearranging. Here I'll show the working for $b=2$.$$\left( \sum_{0\leq a \leq A} u_a \right)^2 = \sum_{0\leq a_1,a_2 \leq A} u_{a_1} u_{a_2} = \sum_{0 \leq a \leq A} u_a^2 + 2 \sum_{0 \leq a_1 < a_2 \leq A} u_{a_1} u_{a_2},$$ $$\sum_{0 \leq a_1 < a_2 \leq A} u_{a_1} u_{a_2} = \frac{1}{2} \left( \sum_{0\leq a \leq A} u_a \right)^2 - \frac{1}{2} \sum_{0 \leq a \leq A} u_a^2,$$and the left hand side is what you were looking for.
This gets more long winded for higher powers of $b.$ For this I'd recommend using the notation introduced in the book "Concrete Mathematics" by Knuth et.al. Let $[A]$ equal $1$ if $A$ is true, $0$ if not. Then, for example, $$\begin{split}\sum_{0\leq a_1,a_2 \leq A} u_{a_1} u_{a_2} &= \sum_{0\leq a_1,a_2 \leq A} ([a_1=a_2] + [a_1<a_2] + [a_1>a_2]) u_{a_1} u_{a_2}\\ &= \sum_{0\leq a_1,a_2 \leq A} ([a_1=a_2] + 2[a_1<a_2]) u_{a_1} u_{a_2} \quad \textrm{by swapping indices for third term} \\ &= \sum_{0 \leq a \leq A} u_a^2 + 2 \sum_{0 \leq a_1 < a_2 \leq A} u_{a_1} u_{a_2}.\end{split}$$ Higher values of $b$ involves multiplying groups of these square condition terms together: first one deals with $a_1$ and $a_2$, next one deals with $a_2$ and $a_3$, and so on.
The point is that the result can be calculated as a sum of several terms, where each terms is a simpler expression to calculate. Implementation-wise, memoization's probably a good idea if you can use it.