All of your questions can be answered within the source of the PS2/Linux kernel. Check include/asm-mips/ps2/sbcall.h and everything in arch/mips/ps2/sbios/. In drivers/ps2/ you'll find many examples of accessing the SBIOS. If you need a non-Linux way to access it, let me know and I'll try to get some stuff out there.
I was trying to use one sbios call (ps2_setdve...) in a non linux environment. Unfortunely there is no source code for the sbios neither the CVS TGE project has that particular function reversed engineered.
setdve is handled by the SetGsCrt() syscall, there is no need to call it directly natively. If you need this to run under the SBIOS (not native) then I have some source code I can get to you (it does a rough equivalent of SetGsCrt()). Or, just look for setdve in the Linux kernel source.