Advertencia: tochazo incoming 

Primero decirte que el hecho mezclar distintas ramas de Debian se llama 
apt-pinning. Debes saber que hacer apt-pinning en la rama estable 
no es aconsejable. ¿Por qué? Sigue leyendo y lo comprenderás:
wiki de debian escribió:Pinning le permite instalar ciertos paquetes de una versión (stable, testing, unestable) sin que tenga que actualizar el sistema entero. Sin embargo, al instalar paquetes de futuras versiones, probablemente instale o actualice bibliotecas también, así que puede que termine con un sistema con las desventajas de la versión stable (software viejo), las desventajas de unstable/testing (el soporte relacionado con la seguridad no es tan bueno como en stable) y sin las ventajas de uno u otro.
Una distribución linux, el único propósito que tiene es el de encajar las piezas de software que cada desarrollador hace independientemente. Debian estable podría representarse como una fortaleza, un gran castillo muy bien diseñado, donde sus ladrillos encajan perfectamente unos con otros, haciéndolo muy resistente. Si usas debian estable es porque quieres máxima estabilidad en el sistema. Si haces apt-pinning para mezclar estable con testing debes tener mucho cuidado si quieres conservar dicha estabilidad, ya que hay bastante probabilidad de reemplazar ladrillos claves en el sistema que son autenticas columnas vertebrales de las que dependen otros cientos de programas. Ponte que empiezas a sacar ladrillos a ese castillo y a sustituirlos por otros que no encajan igual de bien. En cualquier momento se puede caer todo. 
Antes de mezclar repositorios, te recomiendo ver detenidamente qué paquetes se van a actualizar cada vez, y saber si son paquetes importantes de los que dependen otros cientos. ¿Cómo puedes saberlo? fácil. Dos comandos muy interesantes:
apt-cache depends paquete  : te muestra de qué depende ese paquete para funcionar.
apt-cache rdepends paquete: te muestra qué otros paquetes dependen de ese paquete para funcionar (reverse dependencies, de ahí lo de rdepends)
Por ejemplo: ¿de qué depende y quién depende de xmbc?:
┌─( canales ) » { ~ }
└──┤ apt-cache depends xbmc
xbmc
  Depende: xbmc-bin
  Depende: xbmc-bin
  Depende: mesa-utils
  Depende: x11-utils
  Depende: ttf-liberation
  Depende: ttf-dejavu-core
  Depende: python-imaging
  Depende: python
  Depende: python-support
┌─( canales ) » { ~ }
└──┤ apt-cache rdepends xbmc
xbmc
Reverse Depends:
Como ves, de xmbc no hay ningún otro programa que dependa para funcionar. En cambio, xmbc depende de paquetes claves como python. Si haces un apt-cache rdepends python vas a ver que cientos de paquetes dependen de python (no pongo aquí la salida porque la lío parda, puedes buscarlo tú mismo si tienes curiosidad). 
En fin, con todo esto quiero que seas consciente de la tremenda complejidad de un sistema GNU/linux. Son miles de dependencias entrelazadas entre sí. Es una obra de arquitectura espectacular. Por lo que cuantos menos repositorios externos metamos, más sólido será el sistema.
Conclusión: lo mejor para estar actualizado en debian estable es usar los backports, ya que los paquetes de ahí se adaptan con las dependencias que ya tienes instaladas en tu sistema. 
También puedes buscar paquetes sueltos en otros repositorios como en los en los repos de testing, en los ppa de ubuntu (ya ves que te digo paquetes sueltos y no repositorios, ya que instalar un paquete suelto no suele romper nada, pero agregar un repositorio es harina de otro costal), o bien buscar el paquete en la web oficial del programa, o bien compilar el código fuente. 
Si no, lo más sencillo es usar simplemente debian testing, así te quitas de complicaciones, pero pierdes estabilidad. 
Ahora, en cuanto a lo que quieres hacer con xmbc. Dices que quieres hacer pinning, pero te pregunto ¿por qué? si tienes xmbc en los backports de estable, siempre será mucho mejor ya que está pensado para encajar con tu debian estable, mientras que la versión de testing tendrá unas dependencias que encajarán con las de testing.
Package xbmc:                       
p   2:11.0~git20120510.82388d5-1                    stable                       500
i   2:12.3+dfsg1-3~bpo70+2                          wheezy-backports             100
p   2:12.3+dfsg2-6                                  testing                      500 
Piensas que la versión de testing es más nueva que la de wheezy-backports, pero no es así. Fíjate que en ambos, tanto en wheezy-backports como en Testing tienes la versión 12.3. Claramente te conviene usar la versión de backports, ya que se ajusta a tu sistema totalmente. 
Por otro lado, llevo unos días investigando si los paquetes ya instalados desde los backports se actualizan automáticamente o no. Aun no he podido sacar conclusiones, en cuanto lo sepa te lo digo. Pero en principio, sudo apt-get install -t wheezy-backports xmbc es lo que necesitas.
En cuanto a Steam, el método que a mi me ha funcionado ha sido instalarlo con el instalador no oficial de GhostSquad57: 
https://github.com/GhostSquad57/Steam-I ... for-WheezyComo bien dices, Steam se actualiza él solito sin necesidad de repositorios, por lo tanto una vez instalado no necesitas hacer nada más para estar al día.
Aún así, si a pesar de todo quieres intentar hacer apt-pinning, tienes Información con ejemplos en la wiki de Debian: 
https://wiki.debian.org/es/AptPreferencesSaludos!