Esta construção está estranha. Vejamos:
$Bimestres[] = [ 'inicio' => "$InicioBi", 'fim' => "$FinalBi" ];
As aspas em "$inicioBi" e "$FinalBi" sugerem que sejam variáveis string, embora estas aspas não sejam necessárias/permitidas (a depender do contexto).
Por outro lado, você fala em 'pegar o terceiro array do "inicio" e o terceiro do "fim" '. Se eu entendi direito, você espera que estas duas variáveis contenham outros arrays. Arrays de arrays é uma característica poderosa da linguagem e resolve milhões de problemas.
Além disso, os colchetes após a variável $Bimestres (não é uma boa ter variável iniciada com maiúscula) indica que este novo array é incluído como um elemento, no fim de $Bimestres.
Vou dar um exemplo do que eu entendi:
$array1 = [
'item1' => ['subitem1.1','subitem1.2'],
'item2' => ['subitem2.1','subitem2.2']
];
Essa é uma contrução perfeitamente normal, e para você acessar o subitem 1.2, por exemplo, seria assim:
$array1['item1'][1]
Pois se trata do segundo elemento do primeiro array de $array1 (lembre que é base 0).