In a large pot, dilute the broth with the water. Add garlic and bring to a boil. Add the fish and cover. After 2-3 minutes, remove from heat and let cool. (If using dried or salted cod, soak it in cold water for 24-48 hours, changing the water frequently.)
Remove the fish with a slotted spoon from the pot, retain the cooking liquid. Crumble the fish with your fingers into a bowl, removing any bones. Add a few ounces of the cooking liquid and whip with a wooden spoon until it is separated. At the point, remove it to a food processor or use a handheld mixer or continue with the spoon. Slowly drizzle in the olive oil, alternating with the milk. Continue to whip together until a creamy consistency is achieved. Add salt and pepper to taste. Finally, stir in the parsley with a spoon.
Bring a pot of salted water to a boil. Cook the paccheri for half of the suggested cooking time. Drain them and drizzle with olive oil so they do not stick together.
Using a spoon or a pastry bag, carefully fill each paccheri with the baccala and place them on a baking tray.
Heat an oven to 350F degrees. On a lower shelf, place a pan of water, so that it creates some moisture in the oven. On an upper shelf, warm the paccheri for 10-15 minutes or until they are serving temperature.
Meanwhile, in a large skillet, sauté the onion in the olive oil until golden. Add the tomatoes, salt, and pepper. Cook over medium heat for about 10 to 15, until slightly reduced.
Remove the paccheri from the oven, and plate 4-6 per person, cover with a spoonful of the tomato sauce. Serve immediately.