Hi John, short answer: yes, yes and yes.
You should not however rely on treatment_sk being static. New ci_treatment records (with new treatment_sk identifier) tend to appear from time to time based on changes you made in a treatment object, perhaps also campaign publishing / redeployment in some circumstances.If you need a truly static treatment identifier that you (or users) control, it'd be Treatment Code. But you are right, treatment_sk is not changing on every request and mostly stays the same.
Good luck!
-------
Dmitriy Alergant, Tier One Analytics