Is there any way to set up manual static labels (i.e. manually configure WITHOUT LDP or another label distribution protocol) to set up a static label-switched path as well as static forward equiv. class(es) (FECs)?
You can create static local and remote label bindings (/mpls local-bindings and /mpls remote-bindings). Static bindings "work" the same way as LDP learned ones. That is - local binding specifies the label that will be accepted and remote binding specifies the label that will be used for outgoing frame. There is no way to configure exact label switching directly ("crossconnect" in Cisco terminology) - you have to do it by creating one local binding and one remote binding.