Lets say $S$ is the multiset and $m_k$ is the multiplicity of the element $k$ of the multiset $ S=(m_1,m_2,...,m_n) $ and we want all the unique permutations of length $l$ of the multiset. For the formula we have to find all the combinations $C=(x_1,x_2,...,x_n)$ where $0 \leq x_k \leq m_k$ such that $ \sum_{k=1}^n x_k=l $
What we need is actually the productory of the factorials of the elements of that combination: $ P(C)=\prod_{k=1}^n x_k! $ Now lets say that the number of combinations is J, so to answer your question the number of permutation is $ \sum_{j=1}^J \frac{l!}{P(Cj)} $ Lets try this formula with this example: the multiset is $S=(3,2,1)$ and $l=4$. All the combinations are $ C=((1,2,1),(2,1,1),(2,2,0),(3,0,1),(3,1,0)) $ so the number of permutation is $ \frac{4!}{1!2!1!}+\frac{4!}{2!1!1!}+\frac{4!}{2!2!0!}+\frac{4!}{3!0!1!}+\frac{4!}{3!1!0!}=\frac{24}{2}+\frac{24}{2}+\frac{24}{4}+\frac{24}{6}+\frac{24}{6}=38 $ I'm going to explain the formula using again my example. We want a permutation of length $l$ so it's like having 4 slots to fill up with what we have. In this case we have our multiset $S=(3,2,1)$. We start with the first element $m_1=3$. How many of $m_1$ we can use, remembering that we have $l$ free slots and that after $m_1$ we have $m_2+m_3=3$ to use? The answer is $ MAX(0,l-m_2-m_3) \leq x_1 \leq MIN(l,m_1) $ We can't use less or more or we won't reach $l$ at the end, so $x_1=(1,2,3)$. Lets start with $x_1=1$. What is the number of combination with $4$ free slots and $1$ to use? This is the binomial coefficient $ \binom{l}{x_1}=\binom{4}{1} $ What I'm going to do is to repeat what I did until I completely fill all the slots. Now we have $l-x_1=3$ free slots and $m_2$ to use. Of $m_2$ I can use no less than $MAX(0,l-x_1-m_3)$ and no more than $MIN(l-x_1,m_2)$, so $x_2=(2)$ as it's the only choice. What is the number of combination with 3 free slots and 2 to use? Like before, it's $ \binom{l-x_1}{x_2}=\binom{3}{2} $ Combined with $x_1=1$ it becomes $ \binom{l}{x_1}\binom{l-x_1}{x_2}=\binom{4}{1}\binom{3}{2} $ Now we have $l-x_1-x_2=1$ free slots and $m_3$ to use. One slot can be filled in one way only, so $x_3=1$ and the combinations are $ \binom{l-x_1-x_2}{x_3}=\binom{1}{1} $ Combined with $x_1=1$ and $x_2=2$ it becomes $ \binom{l}{x_1}\binom{l-x_1}{x_2}\binom{l-x_1-x_2}{x_3}=\binom{4}{1}\binom{3}{2}\binom{1}{1} $ We can clearly see a pattern here so we can try to get a nicer formula from that $ \binom{l}{x_1}\binom{l-x_1}{x_2}\binom{l-x_1-x_2}{x_3}=\frac{l!}{x_1!(l-x_1)!}\frac{(l-x_1)!}{x_2!(l-x_1-x_2)!}\frac{(l-x_1-x_2)!}{x_3!(l-x_1-x_2-x_3)!} $ We can simplify that and get $ \frac{l!}{x_1!x_2!x_3!(l-x_1-x_2-x_3)!} $ Since we know that $x_1+x_2+x_3=l$ we can simplify again and get $ \frac{l!}{x_1!x_2!x_3!(l-x_1-x_2-x_3)!}=\frac{l!}{x_1!x_2!x_3!0!}=\frac{l!}{x_1!x_2!x_3!} $ $ \frac{l!}{x_1!x_2!x_3!}=\frac{4!}{1!2!1!} $ Now lets get back where we were. Since we filled up all the slot we have to go back and since $x_1=(1)$ and $x_2=(2)$ we have to get back to $x_1=(1,2,3)$ and pick the second, so $x_1=2$. With $x_1=2$ follows up that $x_2=(1,2)$. Since there are more than 1 way to choose $x_2$, we can write it this way $ \binom{4}{2}(\binom{2}{1}+\binom{2}{2}) $ If we continue with $x_2=1$ we get $x_3=1$, and if we continue with $x_2=2$ we get $x_3=0$ and get $ \binom{4}{2}(\binom{2}{1}\binom{1}{1}+\binom{2}{2}\binom{0}{0})=\binom{4}{2}\binom{2}{1}\binom{1}{1}+\binom{4}{2}\binom{2}{2}\binom{0}{0}=\frac{4!}{2!1!1!}+\frac{4!}{2!2!0!} $ Lets get back the last time to $x_1$ and pick up the last, so $x_1=3$. With $x_1=3$ it follow that $x_2=(0,1)$, so $ \binom{4}{3}(\binom{1}{0}+\binom{1}{1}) $ If we continue with $x_2=0$ we get $x_3=1$, and if we continue with $x_2=1$ we get $x_3=0$ and get $ \binom{4}{3}(\binom{1}{0}\binom{1}{1}+\binom{1}{1}\binom{0}{0})=\binom{4}{3}\binom{1}{0}\binom{1}{1}+\binom{4}{3}\binom{1}{1}\binom{0}{0}=\frac{4!}{3!0!1!}+\frac{4!}{3!1!0!} $ If we sum up all the results we get the same formula as before.