For 1, your use case does seem a little specific, so there is no example of that exactly in our examples. Otherwise all our examples are in the examples folder of the repo and there is a tutorial 7 on how to fine-tune your model on a custom dataset in the documentation.
For 2, if you need more control, you should directly use the tokenizer/model and not the pipeline API. The task summary tutorial 3 shows examples of both ways on most tasks supported by the library.
For 3, you can upload models to our model hub. There is a (paying) inference API 1 to use them directly without downloads.