The way you have the nodes set up is the best and easiest way to do it, yes.
You could use a function node and the dynamic node settings to do it with just one PAC write node, but that has a heavy reliance on JavaScript – have you got any experience coding in JavaScript?
If not, no worries, just have the nodes set up like you have here and set the “value” field to be msg.payload[10].HeatTreatTemperature
, for example, and then set the PAC variable you want to write to, then when you inject it should write to the three PAC nodes (or however many you need).
As far as time goes your best bet will be to use a small piece of JavaScript to convert it since PAC Control really likes things in just total seconds, but it’s a pretty trivial conversion. Do you have date information (day, month, year) or just hours and minutes?