First question was how do I assemble a neat package containing several floats,
Why does the package need to be neat? Are you going to put it under a Christmas tree?
Converting each float to a string, using dtostrf(), and then concatenating them into a char array, using strcat() is one possibility.
send via LAN
I don't know. Perhaps the e.print() method?
parse it on the other end?
Parsing is a matter of undoing the packaging operation. We have no idea how you are packaging the data.
Second, I was hoping someone might look at my code and offer some constructive criticism/suggestions to make it more memory efficient before I reach for a bigger hammer
Consistent use of the F() macro comes to mind.