The simplest way to explain how Salvo uses the stack on the PIC18 is to say that Salvo's stack usage is the same as that of a typical foreground / background "main loop" application, with an extra 4 bytes (I believe) of stack usage because the tasks are dispatched via a call-by-pointer in Salvo's scheduler, OSSched().
Apart from reviewing the Salvo User Manual and Compiler Reference Manuals, I would recommend that you install Salvo Lite, and then step through a tutorial (say, tu5) in either C or assembly, while watching the SP registers -- that'll give you a clear overview of what it's doing.
Interrupt processing is just like any other application.
If the user is explcitly pushing and popping data, as long as any pushes are undone by pops before the next context switch, then there shouldn't be any impact on Salvo.
------------------