I punctured my arm on a bromeliad thorn. Now several weeks later I have a hard lump under the skin like a large bb. It is slightly painful?

See a doctor. It is possible that you have one of several types of infection with inoculation of organisms into you by the thorn.
Foreign body. What probably happened is the tip of the thorn broke off inside your skin, leaving a foreign body (similar to a sliver). Sooner or later your skin will expel it, if it's not in too deep. If it is too deep, or you don't want to wait, a doctor (preferably a dermatologist) can remove it for you.