As explained by @kodlu you are looking to maximixe the minimum distance of a length $n=16$ code of a constant weight $w=4$. The Johnson bound is tight in this case. The fact that $n$ happens to be a power of two plays a big role.
It is impossible that your bit sequences would have a maximum of one shared $1$ (corresponding to a minimum Hamming distance of $d=6$). The Johnson bound gives
$$
A(16,6,4)=\lfloor\frac{16}4\lfloor\frac{15}3\rfloor\rfloor=20
$$ as the maximum size, but you wanted $90$.
So you need to allow overlaps of size two (corresponding to $d=4$), when Johnson gives
$$
A(16,4,4)=\lfloor\frac{16}4\lfloor\frac{15}3\lfloor\frac{14}2\rfloor\rfloor\rfloor=140
$$
as the maximum size.
In general there is no guarantee that the Johnson bound could be achieved, but here it is easy to describe a set of size $140$.
Think of the $16$ bit positions as indexed by four bits, or points in the vector space $V=\{0,1\}^4$ over the field $\Bbb{Z}_2$. We can choose two non-zero vectors, call them $x$ and $y$, from $V$ in $\binom {15}2=210$ ways. We can then form the 2-dimensional subspace they generate: $\langle (x,y)\rangle=\{0,x,y,x+y\}$. Observe that the six pairs $(x,y)$, $(y,x)$, $(x,y+x)$, $(y+x,x)$, $(y,y+x)$, $(y+x,y)$
all generate the same subspace. So the total number of 2-dimensional subspaces is $210/6=35$.
Each such subspace has four distinct parallel translations of itself (called cosets, if you know a bit of algebra), giving us a total of $140$ cosets of 2-dimensional subspaces, also known as 2-dimensional affine subspaces of $V$.
The point is that two distinct 2-dimensional subspaces can intersect in at most a 1-dimensional affine subspace. Or, very conveniently for us, two affine 2-dimensional subspaces can share at most two points. This means that we have constructed a constant weight code of length $n=16$, $w=4$ and minimum distance $d=4$ containing a maximum possible of $N=140$ words.
A few examples of codewords $b_i$.
Let $x=1000$ and $y=0100$. Then $\langle(x,y)\rangle=\{0000,1000,0100,1100\}$. So this 2-dimensional subspace consists of those 4-tuples that end with two zeros. This means that its cosets are easy to describe:
$$
\begin{aligned}
0001+\langle(x,y)\rangle)&=\{0001,1001,0101,1101\},\\
0010+\langle(x,y)\rangle)&=\{0010,1010,0110,1110\},\\
0011+\langle(x,y)\rangle)&=\{0011,1011,0111,1111\}.
\end{aligned}
$$
Observe that, between them. these four cosets cover all the sixteen 4-tuples of bits. This happens always with cosets of a subspace (consult algebra books again).
Equating sequences of four bits with the integers $0\ldots15$ in the obvious way associate these affine spaces with binary numbers as follows
$$
\begin{aligned}
\{0000,1000,0100,1100\}&\to\{0,8,4,12\}&\to 0001\,0001\,0001\,0001,\\
\{0001,1001,0101,1101\}&\to\{1,9,5,13\}&\to 0010\,0010\,0010\,0010,\\
\{0010,1010,0110,1110\}&\to\{2,10,6,14\}&\to 0100\,0100\,0100\,0100,\\
\{0011,1011,0111,1111\}&\to\{3,11,7,15\}&\to 1000\,1000\,1000\,1000.\\
\end{aligned}
$$
If, instead, we use the subspace $\langle(1000,0001)\rangle=\{0000,1000,0001,1001\}$, its cosets yield the 16-tuples
$$
\begin{aligned}
\{0000,0001,1000,1001\}&\to\{0,1,8,9\}&\to 0000\,0011\,0000\,0011,\\
\{0010,0011,1010,1011\}&\to\{2,3,10,11\}&\to 0000\,1100\,0000\,1100,\\
\{0100,0101,1100,1101\}&\to\{4,5,12,13\}&\to 0011\,0000\,0011\,0000,\\
\{0110,0111,1110,1111\}&\to\{6,7,14,15\}&\to 1100\,0000\,1100\,0000.\\
\end{aligned}
$$
You see how each 16-tuple in the second group share two ones with two 16-tuples from the first group. It is also possible that a 16-tuple from one group shares a single one with each 16-tuple from yet another group. But there will never be more than two shared ones.
If you want to read/search more, the construction I gave can be described as consisting of weight four words of the binary Reed-Muller code $RM(2,4)$.