We will approach this problem using [maximum likelihood estimation][1] to estimate $N$.  

First, let us write out the probability of seeing $x$ chocolates and $y$ blue papers, given $N$ boxes were opened, the probability of seeing a chocolate is $p_x$, and the probability of seeing a blue paper is $p_y$.  This is just the product of two binomial distributions with the same $N$:

$P(x,y) = \frac{N!}{x!(N-x)!} p_x^x(1-p_x)^{N-x}\frac{N!}{y!(N-y)!}p_y^y(1-p_y)^{N-y}$

We solve for the $N$ which gives us the highest probability of seeing the observations we actually saw, in this case 45 chocolates and 16 blue papers.  This is better done by maximising the log of $P(x,y)$ for reasons of stability and avoiding really large or small numbers.  

Here's some R code to do this in a rather brute-force way:

    log.pxy <- function(N, px, py, x, y)
    {
      dbinom(x, N, px, log=TRUE) + dbinom(y, N, py, log=TRUE)
    }
    
    results <- rep(-Inf,200)
    for (N in 50:200) results[N] <- log.pxy(N, 0.34, 0.1, 45, 16)
    which.max(results)
    [1] 137

Our maximum likelihood estimate of $N$ is 137.  

As for getting a confidence interval, we can use the fact that -2 * the observed log of the likelihood function ($P(x,y)$ viewed as a function of $N$ instead of $(x,y)$) is asymptotically distributed $\chi^2(1)$. We find the $N$ for which the log likelihood is "too far" below the maximum, using the $\chi^2(1)$ as our guide, and constructing a 95% confidence interval:

    > min(which(2*results > max(2*results)-qchisq(0.95,1)))
    [1] 111
    > max(which(2*results > max(2*results)-qchisq(0.95,1)))
    [1] 168

So a 95% confidence interval would be [110, 169] - we need to expand the interval by 1 on either end to get "outside" the `qchisq` 95% range.

As for your other questions: If there are more than two properties, you can expand the solution methodology in the obvious way and it will still work.  I'm not sure how your other question works; if $P(A)$ is estimated from $N_A$, then you know $N_A$ so there's nothing left to estimate - I think I must not be understanding the question.


  [1]: http://en.wikipedia.org/wiki/Maximum_likelihood