It happened occasionally in the nineteenth century. Most often, it would involve New York and Brooklyn or Boston and Providence. For instance, Team A might play a morning game against New York and then an afternoon game against Brooklyn, while Team B would play against Brooklyn in the morning and New York in the afternoon. I've seen one instance where the home teams were New York and Philadelphia -- as far as I know, that's the biggest distance for a visiting team to travel in a single day to play a double header.
It must have been viewed as something of a gimmick even back in those days, and I can't imagine that visiting teams were particularly happy with the arrangement. I don't see that kind of double-header in the
Retrosheet schedule file for 1906 -- what you're describing sounds like it might have been a make-up game, where the team played a home game in the morning and a road game in the afternoon. Most likely it was either New York or Brooklyn. You can
check the date at Retrosheet to find out exactly what happened.
Because OOTP schedules don't recognize geographical proximity, you can end up with the situation where you're playing a morning game in Pittsburgh and an afternoon game in St. Louis, as you described. That's one reason why, when I play deadball-era seasons, I use modified schedules that eliminate those sorts of quirks.