1) Because the NameNode does not allow DataNodes to have multiple replicas of the same block, maximum number of replicas created is the total number of DataNodes at that time.
Reference: https://hadoop.apache.org/docs/r3.1.1/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html#Simple_Coherency_Model (Under Replica Placement: The First Baby Steps)
This means if you have 2 datanodes, your replication factor cannot be 3.
2) Your file size will be the same. However, using three number of replicas will increase your storage overhead. I mean what if your file is 2 GB. You are keeping your file using with 3 replicas. This means you are allocating 6 GB (2 GB is for your original file and 2+2 GBs are for copies) storage space for your file.