You can certainly colour the line based on a field (although you can't affect connector thickness). Simply choose colour in the map menu.
Labels are a bit trickier - if you label each point then before long there are too many and they'll start to disappear. You can label the connection rather than the point, but that doesn't really help.
Assuming these are simple origin-destination pairs, and you want to label the midpoint of each route, you'll need to calculate the location of that (for the default projection that's not too hard) and add a new point with a field named 'label' populated for the midpoint but not for the origin or destination. Append the results of this calculation to your dataset, and you're most of the way to having the midpoint of each origin-destination pair labelled, you just need to be sure that the key filtering fields have appropriate entries to ensure that the midpoint doesn't drop out. A unique value list (tokenised) is an effective way to keep the filters live.
I think what you are asking is to group up same point-to-point journeys, in which case is not so much the labeling but that you need to aggregate your data to reflect that.
Instead of having one set of origin-destination per flight, group them up using aggregation and unique count on the O-D ID. What you should get is one line with a numerical value assigned to it telling you how many trips that line represents.
I'm not sure it will work exactly, I'll try to mock it up in an example some time this week if you can't manage to figure it out doing.