Pour les Block, c'est pas bien clair mais on a juste ceci :
type – C'est l'identifiant de la class du module qui défini les fonctionnalités du Block. Cet attribut ne doit pas être modifié.
En gros, avec Type, tu fais un appel à un objet PHP.
Et pour ce qui est des méthodes comme getStoreCategories(), il va faloir se plonger un peu dans le code. En fait, ils pourraient faire une doc complète ... mais ce serait infi à créer, surtout que quasiment toutes les explications sont dans le code.
Maintenant, c'est vrai qu'il faut s'y connaître un minimum en PHP orienté objet. Mais avec ça, il suffit d'ouvrir les fichiers de class, regarder leur structure et les méthodes qu'elle proposent pour se faire une idée de l'organisation et trouver la fonction qui nous sera nécessaire.
Mais ce que je lit un peu partout dans leur doc, c'est que l'idéal est toujours de partir d'une structure complète et de l'adapter. Je pense qu'en faisant comme ça, pas à pas, on va finir pour trouver assez facilement les fonctions dont on a besoin.
Autre petite chose, ça pourra peut-être un tout petit peu te servir :
http://www.magentocommerce.com/wiki/doc/magento-architecture