Is there anything that can cause a child to cough up blood?

Coughing blood. Coughing blood could indicate serious infection like pneumonia or chronic lung infection. Sonetimes, from coughing alot it could have scratched the back of the throat to cause the blood to appear. Tuberculosis might do this too.
Depends. Generally a child will cough up blood that comes from a nose bleed either known or unknown. If there is no bleeding disorder in the child, no trauma, no gastrointestinal bleeding issues, then there is usually little concern. If large amounts of blood are coughed up (clots or more than a teaspoon of bright red blood), then you may have a problem. If in doubt, see your pcp.