Hi Gabe,
the p-values are parameters to the instruments, usually passed in the score. But there are many values to "play" an instrument. In this example schedule has been used:
schedule("envadsr",0, 5, -18, 440)
That says: schedule/play the instrument called "envadsr" immediately, 0, and have it play for 5 seconds. p4 and p5 are then -18, 440.
As for your seconds question: yes other values might have been chosen for decay. Depending on the envelope generator, I noticed that some do not accept 0. 0 is always a bad idea if you have an exponential generator. In general: chooose a very low value like
.0001
or something and you will be fine with all the envelope generators. That goes for attack, decay and release, if you don't need any of them.