At the moment, WordPress checks the wordpress core for it’s updates.
But, I’d like to add an additional check to repeat the process for themes and plugins using a seperate address, for updating themes that are not on the core wordpress repositories, such as commercial themes and such.
Is this possible? If so how would it be done?
There is no native mechanism for WP to check for updates from non-official resources. Some plugins/theme have such functionality of their own for themselves.
If you want to implement such checks for arbitrary plugins/themes (coded without such in mind) it is not impossible, but will take loads of custom code and handling different possible sources and downloads.