Can one have multiple name servers that don't all belong to the same TLD/provider?
The fact that the SOA serial numbers don't match makes perfect sense due to the fact that you're using different DNS providers. The SOA serial numbers between providers isn't going to match unless one provider supports zone transfers to the other, which isn't likely...but that's OK. The serial numbers don't have any bearing on name resolution for your domain, they have meaning only for the name servers hosting the zone, either at the same provider or amongst all of the name servers hosting the zone if zone transfers are allowed to all of them. What you need to make sure is that when you add, change or delete a record at one provider that you do the same at the other provider. The master/slave mechanism that keeps DNS records in sync at one provider isn't going to keep your records in sync at the other provider, you're going to have to manually do that yourself by updating the zone at each provider with the same records.
You sure can.
For example, where I work, we have 4 name servers, 2 hosted with one DNS host, one hosted by us, and the other one hosted by a second external DNS host.
The SOA (start of authority) serials not being agreed indicates that there's [most likely] a sync issue with your DNS - not all the name servers are serving up the same version of your DNS records. This may be an actual problem, or it may indicate that DNS hasn't fully propagated from your authoritative name server(s) to the rest.
Here's a quick KB I found from MS about the structure of an SOA record. Hopefully that will help clarify what's going on for you.
Serial number - The revision number of this zone file. Increment this number each time the zone file is changed. It is important to increment this value each time a change is made, so that the changes will be distributed to any secondary DNS servers.