Well u may not need a 12 gallion tank depending on what horn you are using. If you are getting a real train horn like a nathan k3la or k5la than that is about right. if you are going with a fake horn I would use a 5 gallion.
for a compressor on the 12 gallion I would recommend a air zenith compressor I am very happy with mine I have a 14 gallion tank the air zenith is 100% duty at 200 psi witch means it can run all day at 200psi with out over heating (viair 480c is only 50% duty and thats there best one for 200psi). stuff may ware out if u did run it that long but it would not over heat. I love that thing I ran it for 8min (0-110psi) and I could touch every part of it while it was still running, but it is very loud and I would not use it for more than 150 psi (evan though it should be safe to) witch any thing more than that is usualy unnecessary. especaly if you go with a real train horn witch will wreck it if u run more than that.
over all it does have a lower cfm than dual viair 450c
the air zenith is 2.9cfm
and the dual 450c is 2.28cfm
but those are both at 0psi i can not find any details on the air zenith on the pump times since they both vairy as they pump (a air zenith could be faster even though it has a lower cfm) but I do not know since I do not have any pump times for the air zenith. viair has lots of details on all there compressors on there website.
over all the coice of yours air zenith will not over heat and the viair is faster. they are both about the same price
and if you go with a five gallion u can go with just about any viair depending on how menny psi you go with. 450c is top of the line if you go with 150 psi and 480 is top of the line for 200psi. but i would go with a 350c if you go with 150 psi and 380c for 200psi