I want to sort my email in Gmail by the sender, rather than the date received, is there a way to do this?
Not yet. This feature is still on suggest list of feature for Gmail.
If you really need to do this, one way is to download your messages into Thunderbird, for example, and sort them there. Google has a philosophical objection to sorting (except for reverse chronological order by last activity, of course) and is unlikely to implement this anytime soon.
There are some hacks to do this kind of thing here...