Sadly if an API/library isn't available portably, then you won't be able to force it to be available by adding references to different System.dll assemblies.
Whenever APIs aren't available portably, I recommend either:
- wrapping them behind interfaces and injecting them into the portable code from the native platforms. There are some examples of this in N=31 in http://mvvmcross.wordpress.com/
- choose to put your code into non-portable libraries with code shared through file linking rather than through PCLs
Daniel Plaisted has more ideas on this at http://blogs.msdn.com/b/dsplaisted/archive/2012/08/27/how-to-make-portable-class-libraries-work-for-you.aspx