Mark:18-19 And He said to them, "Are you so lacking in understanding also? Do you not understand that whatever goes into the man from outside cannot defile him, because it does not go into his heart, but into his stomach, and is eliminated?" (Thus He declared all foods clean.) It seems that Mark once again disagrees with your assessmen Not Mark, but translators. This is again a translator bias. The phrase "Thus he declared all foods clean" doesn't appear in many translations. For example the King James Revised:
Mar 7:19 Because it entereth not into his heart, but into the belly, and goeth out into the draught, purging all meats?
Christ meant something entirely different. The issue again was eating with unwashed hands, not eating pork. Fretting over one speck of filth defiling an otherwise CLEAN piece of meat was silly.
And Peter told us what his vision meant and it had nothing to do with clean or unclean food.
And Romans 14 was about early Christians refusing to eat otherwise clean meat that had been brought in the "shambles" a meat market, that may have been used in pagan sacrifice rituals.
God clearly tells Peter to eat unclean meat in the vision, even after Peter's protest. God clearly tells Peter in the vision that what He has cleansed, do not consider Unholy.
Now I agree that God was using this illustration to show Peter that the Gentiles were now clean, but that begs the question of why did He use unclean foods to make this point, why not just tell Peter outright that the Gentiles were clean.
I think God is killing two birds with one stone here, but I also believe He is revealing a truth to us. The mandate for clean and unclean foods in the OT was to set apart the nation of Israel from the other nations. Now that Christ had come, this setting apart was no longer needed. Christ had removed the wall of division between the Gentiles and the Jews. We are now all one in Christ. There is no need for distinction on the national level and there is no need for distinction on the culinary level.
JM