In juniper ethernet-ccc transports customer's vlan end to end. Does vlan-ccc also transport customer's vlan across as well? thanks.
To answer your question directly, yes the original VLAN tag will be preserved. However, don't look at it from the perspective of preserving VLAN tags, look at it as preserving the entire layer-2 header (except for maybe the address).
ethernet-cccsimply assumes that each end of the cross-connect has similar ethernet features. Ethernet can send tagged or untagged frames, etc.
vlan-cccassumes that each end of the cross-connect will send tagged frames using VLAN 512 or higher using TPID 0x8100.
extended-vlan-cccassumes the same as
vlan-ccc, but can use all VLAN IDs and all TPID values.
All of that said, if you have pseudowires, VPLS, or other features that are pushing/popping/swapping VLANs, you have to account for that on your other customer facing interfaces.
I'm happy to edit my answer if you need further clarification.