This problem and various related problems are known to be NP-hard to solve exactly, but there has been a lot of work on efficient approximations. See this wikipedia page or try googling things like "sparsest vector", "LASSO", "Orthogonal Matching Pursuit".
None of these methods will guarantee the sparsest solution with a particular fixed choice of vectors $B$. But if the set $B$ is large then maybe you don't care about having the exact smallest representation as long as you get a decent one. If the set $B$ is small (as in the example you gave), of course you can enumerate all the subsets and try them one by one.