RE: fees, these service providers are already charging extremely low-profit prices for service. Their CLECs (the phone carriers who provide numbers and porting services to these SIP service providers) charge them fees to port numbers, as it does require manual labor. Now, you can complain about it not being listed in 24-point bold font, but it's a legitimate, industry-wide practice. It used to be more like $35, so BFD.
RE: the $3 unlock fee. That procedure is in place to protect you, the GV user, from a sleazy practice known as "slamming" whereby carriers can port your number away without your permission. The requirement to have you make a credit card purchase is mainly to prove your identity and take positive action to port the number, and the fee probably also covers some expense Google incurs with it's carriers, just as the SIP providers do. Again, BFD.
The service providers aren't making a profit on this; they're just recovering a legitimate cost.