Sachverhalt: A. Am 11. Juli 2006 genehmigte der Regierungsrat des Kantons Solothurn auf Antrag der Einwohnergemeinde Breitenbach den Teilzonenplan "Central" mit Zonenvorschriften sowie die Gestaltungspläne mit Sonderbauvorschriften "Central" und "Central Süd". Die Südgrenze des Gestaltungsplanperimeters "Central" und die Nordgrenze des Gestaltungsplanperimeters "Central Süd" überlagern sich entlang der gemeinsamen Parzellengrenze. Anfangs 2007 reichte die Y._ AG ein Baugesuch für die Überbauung "Central" ein. Die im Auflageverfahren erhobenen Einsprachen wurden zurückgezogen. Die Baukommission Breitenbach genehmigte das Baugesuch mit Entscheid vom 30. Juli 2007. In der Folge wurde mit dem Bau begonnen. Im August 2007 reichte die X._ AG ein Baugesuch für die Überbauung "Central Süd" ein. Die Y._ AG erhob dagegen Einsprache. Zwischen den beiden Bauherrschaften fanden erfolglose Verhandlungen über eine Grenzbereinigung entlang der Parzellen Nr. 2232 (Gestaltungsplanperimeter "Central Süd") und 1864 (Gestaltungsplanperimeter "Central") sowie über den Abschluss eines Dienstbarkeitsvertrags für ein Geh- und Fahrwegrecht durch die Autoeinstellhalle der Überbauung "Central" zur Laufenstrasse hin statt. Am 24. Januar 2008 ordnete die Baukommission an, die beiden Bauherrschaften hätten eine Grunddienstbarkeit für die Durchfahrt durch das erste Untergeschoss der Einstellhalle der Überbauung "Central" zu vereinbaren. Die Y._ AG wurde verpflichtet, die Wandaussparung zur Tiefgarage auf Parzelle Nr. 2232 nicht auszubetonieren. Gegen diese Verfügung erhoben beide Bauherrschaften Beschwerde beim Bau- und Justizdepartement des Kantons Solothurn. Dieses untersagte vorläufig der Y._ AG die Inanspruchnahme der Parzelle Nr. 2232 mittels Baustopp. Mit Verfügung vom 6. November 2008 entschied das Bau- und Justizdepartement unter anderem, dass die Baubewilligung für die Überbauung "Central" rechtmässig sei. Zur Begründung führte es aus, die X._ AG sei im Baubewilligungsverfahren bezüglich der Überbauung "Central" nicht Partei gewesen. Ihre Einsprache sei verspätet, auch wenn das Bauvorhaben geringfügig abgeändert worden sei. Eine erneute Publikation sei nicht notwendig gewesen. Der Situationsplan der Baueingabe habe zwar einen in den Gestaltungsplänen nicht vorgesehenen Abtausch von 1 m2 Land entlang der Grenze vorgesehen. Nachträglich habe die Baukommission aber die Rückversetzung der Südfassade um 8 cm bewilligt, um sicherzustellen, dass die Y._ AG nicht auf fremdem Boden baue. Damit sei die Grenzbereinigung hinfällig geworden. Diese Änderung der Baubewilligung ohne erneute Publikation sei zulässig gewesen. Ein Gutachten wie auch die nachträglich eingereichten Pläne hätten gezeigt, dass keine Verletzung der Grenze bestehe. Eine gegen diesen Entscheid des Bau- und Justizdepartements gerichtete Beschwerde der X._ AG wurde vom Verwaltungsgericht des Kantons Solothurn mit Urteil vom 8. Juni 2009 abgewiesen. B. Mit Beschwerde in öffentlich-rechtlichen Angelegenheiten an das Bundesgericht vom 10. Juli 2009 beantragt die X._ AG im Wesentlichen, das Urteil des Verwaltungsgerichts sei aufzuheben und es sei die Nichtigkeit der an die Y._ AG erteilten Baubewilligung festzustellen, eventualiter sei die Baubewilligung zu widerrufen. Zudem sei die Bauverwaltung Breitenbach anzuweisen, der Beschwerdeführerin die Baubewilligung für die Überbauung "Central Süd" zu erteilen, unter gleichzeitiger Regelung der Mitbenutzung der Erschliessung gemäss § 104 des Planungs- und Baugesetzes des Kantons Solothurn vom 3. Dezember 1978 (BGS 711.1; im Folgenden: PBG) zu Lasten der Beschwerdegegnerin. Das Verwaltungsgericht des Kantons Solothurn und die Beschwerdegegnerin beantragen in ihrer Vernehmlassung die Abweisung der Beschwerde. Das Bau- und Justizdepartement des Kantons Solothurn beantragt die Abweisung der Beschwerde, soweit darauf einzutreten sei. Die Baukommission der Einwohnergemeinde Breitenbach liess sich nicht vernehmen. Die Beschwerdeführerin hält in einer unaufgefordert eingereichten Stellungnahme im Wesentlichen an ihren Anträgen und Rechtsauffassungen fest.