Do wallets not partition the funds into different bitcoin addresses? Assuming they keep all of their deposits to hand this would seem like an easy way to manage things. Even if they don't keep all the deposits, giving each account an expanding unique set of addresses for its external transactions seems wise given the low cost of bitcoin transfers.
Bitcoin transactions in general do not have a from address. You may derive which addresses its incoming funds passed through, but there may be more than one, and some or all of them could belong to shared accounts. Actually, it's even possible to have no assignable "from" address at all - it's for example possible in the protocol to have a "spend to anyone" transaction, without defined recipient address.
Can you explain further? I suppose generated coins don't have any sender addresses (looking at the wiki they lack a scriptSig), but regardless of whether a transfer has a recipient for all its input coins it will surely have to have at least one when it makes it into a block (i.e. the block generator).