How could I calculate the local size of an object given its distance and actual size? Lets say I take a picture of a sign. I know that sign is 20ft (width), 10ft height. I'm standing 40 feet away.  If I were to take a picture, how could I calculate how wide and how high the sign is in pixels?  Would the small angle formula work decently in this situation?
I took a picture of the sun, which I know to be roughly 32 arcminutes, and had a diameter of 258pixels. I believe I could use this as a reference.
Assume I'm taking a picture with the same camera.

You can't always use the small angle approximation. Only if the object's width is much less than your distance from the object. Otherwise it actually depends on where you're standing along the transverse direction.
In your sign example... let's say the sign has width $x$, and you're standing a distance $L$ from it, perpendicular to it, and straight from the center of it, width-wise. i.e.
---------- sign
$\\$
$\hspace{6mm}$ o $\hspace{6mm}$   you
Then the angle from your line of sight to the left of it would be $tan^{-1}(x/2L)$, and the same with your angle to its right end, so the total angular size of the sign is $2 tan^{-1}(x/2L)$.
Now, if you're standing at the left of the sign, perpendicular from it, i.e.
---------- sign
$\\$
o $\hspace{12mm}$   you
then the angular size of the sign is $tan^{-1}(x/L)$, and clearly, $tan^{-1}(x/L) \ne 2 tan^{-1}(x/2L)$. Thus, your transverse position WRT the object matters when $x$ is not much less than $L$. Of course, with the small angle approximation, $tan^{-1}(z) \approx z$ for $z \ll 1$ the inequality above becomes an equality.
