Hola, yendo por partes:
Cuestión 1. Sí, puedes introducir el número de un array con una variable. Tienes que tener en cuenta un par de cosas:
- Tendrás que haber declarado la variable antes, en cabecera del código para que sea conocida. Tendrás que darle un valor inicial para crear el array de un tamaño que establezcas. Luego creas el array. Algo así como:
Public Class Form1
Dim sizeDelArray%, variableAusar2%
sizeDelArray = 27
Dim Peso(sizeDelArray) as Integer
La declaración Dim Peso(sizeDelArray) as Integer tiene sentido si has inicializado antes sizeDelArray a un valor, si no no lo tiene.
El problema que indicas parece debido a que valor vale cero y no se entra en el bucle. El tamaño del array no parece bien establecido.
Nota: posiblemente sea más conveniente declarar sizeDelArray como una constante en vez de como una variable, si el tamaño del array no va a variar durante la ejecución del programa. Es decir, si algo no va a variar mejor que sea una constante.
Cuestión 2. Para no complicar las cosas (y de hecho así es como se hace en el libro) te sugiero lo siguiente: crea un label en forma gráfica y sitúalo en el formulario. Luego selecciona ese label y pulsa CTRL+C (copiar). Luego pincha sobre el formulario y pulsa CTRL + V (pegar). En teoría, debe preguntarte si deseas crear un array de Labels. Respóndele que sí. Si el label creado era Label1, al decirle que sí te habrá cambiado el nombre a Label1(0) y el nuevo label será Label1(1). Si vuelves a pegar el contenido del portapapeles te irá creando los sucesivos elementos. Label1(2), Label1(3), etc. Una vez los tengas creados, manipúlalos a través del código como en el ejemplo del libro.
Sugerencia: establece primero el nombre de label antes de copiar y pegar sucesivamente, así ya tendrás todos los labels con el nombre que desees.
Nota: si respondes que no quieres crear el array de labels, cada label se mantendrá de forma independiente.